web-dev-qa-db-ja.com

UICollectionViewFlowLayoutBreakForInvalidSizesにシンボリックブレークポイントを作成します。

「デバッガーでこれをキャッチするために、UICollectionViewFlowLayoutBreakForInvalidSizesにシンボリックブレークポイントを作成する」というコードでこのエラーが発生しています。ここで実際に求めているのは、どこに置くのかを尋ねるだけのコードだと私は思っていますか?

import UIKit

// MARK: - CUSTOM SOCIAL CELL
class SocialCell:UICollectionViewCell {

    /* Views */
    @IBOutlet weak var socialIcon: UIImageView!
    @IBOutlet weak var socialLabel: UILabel!
}

class SocialList: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout {

    /* Views */
    @IBOutlet weak var socialCollView: UICollectionView!

    override func viewDidLoad() {
        super.viewDidLoad()

    }

    // MARK: - COLLECTION VIEW DELEGATES 
    func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
        return 1
    }

    func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return socials.count //socialNames.count
    }

    func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCellWithReuseIdentifier("SocialCell", forIndexPath: indexPath) as! SocialCell

        cell.socialLabel.text = "\(socials[indexPath.row]["name"]!)"
        cell.socialIcon.image = UIImage(named: "\(socials[indexPath.row]["name"]!)")

        return cell
    }

    func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
        return CGSizeMake(view.frame.size.width/3.8, view.frame.size.width/3.8)
    }

    func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
        selectedSocial = "\(socials[indexPath.row]["link"]!)"
        selectedName = "\(socials[indexPath.row]["name"]!)"
        selectedColor = socialColors[indexPath.row]

        navigationController?.popViewControllerAnimated(true)
    }
}

これを行うことにより、これを体系的に解決できます。

また、より具体的な問題に導くことができるように、完全なエラーを共有する必要があります。私の考えでは、UICollectionViewに何らかのautoLayoutの問題があると思います

プロジェクトの左側で、ブレークポイントナビゲーターをクリックします

enter image description here

次に、左下のプラスボタンをクリックして、をクリックします。シンボリックブレークポイントを追加します

enter image description here

次に、ポップアップが表示されます。そこにUICollectionViewFlowLayoutBreakForInvalidSizesを追加します

enter image description here

この後、Enterキーを押して(キーボードで)任意の場所をクリックします

コードを実行して、プロジェクトが停止する場所を確認します

38
Akshansh Thakur