「デバッガーでこれをキャッチするために、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の問題があると思います
プロジェクトの左側で、ブレークポイントナビゲーターをクリックします
次に、左下のプラスボタンをクリックして、をクリックします。シンボリックブレークポイントを追加します
次に、ポップアップが表示されます。そこにUICollectionViewFlowLayoutBreakForInvalidSizesを追加します
この後、Enterキーを押して(キーボードで)任意の場所をクリックします
コードを実行して、プロジェクトが停止する場所を確認します