2014-08-30 48 views
1

collectionView始終是零,我創建它在.xib中。 碰撞發生在與collectionView的第一次交互中 預先感謝您。在.xib中創建的UICollectionView是零Swift

這是錯誤。 致命錯誤:意外發現零而展開的可選值

class ChannelsViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout, NSFetchedResultsControllerDelegate { 

    var managedObjectContext: NSManagedObjectContext? = AppDelegate.sharedAppDelegate().managedObjectContext; 

    @IBOutlet weak var collectionView: UICollectionView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     self.collectionView.delegate = self 
     self.collectionView.dataSource = self 

     self.collectionView.registerNib(UINib(nibName:"ChannelsCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "Cell") 
    } 
} 
+0

你確定UICollectionView有一個引用到xib中的collectionView屬性的插座嗎? – Acey 2014-08-30 18:31:43

+0

@Ayy是的,我確定。 – user3092406 2014-08-30 18:40:14

+0

在任何時候,您是否從其超級視圖中移除collectionview? – Acey 2014-08-30 18:41:55

回答

1

的問題,我是,我是不會加載筆尖。嘗試這個。

init() { 
    super.init(nibName: "ChannelsViewController", bundle: nil) 
} 

required init(coder aDecoder: NSCoder) { 
    fatalError("init(coder:) has not been implemented") 
} 

override func viewDidLoad() { 
    super.viewDidLoad() 

    self.collectionView.delegate = self 
    self.collectionView.dataSource = self 

    self.collectionView.registerNib(UINib(nibName:"ChannelsCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "Cell") 
}