1
我目前正在使用Swift開發OS X應用程序。我在我的主視圖中嘗試使用NSCollectionView
,因此我已將NSCollectionView
對象添加到我的.xib
文件中。除了將數據源和委託鏈接到文件所有者之外,我沒有改變任何事情。使用NSCollectionView時聲明失敗
這是我寫來實現NSCollectionViewDataSource
協議代碼:
/// MARK: - NSCollectionViewDataSource
extension MainViewController: NSCollectionViewDataSource {
func collectionView(collectionView: NSCollectionView, numberOfItemsInSection section: Int) -> Int {
return 10
}
func collectionView(collectionView: NSCollectionView, itemForRepresentedObjectAtIndexPath indexPath: NSIndexPath) -> NSCollectionViewItem {
let itemView = collectionView.makeItemWithIdentifier("fileItem", forIndexPath: indexPath)
itemView.textField!.stringValue = "TEST"
return itemView
}
}
現在,當我運行我的代碼,我得到一個未捕獲的異常,並且應用程序崩潰,我不知道爲什麼。這裏是我認爲是有用的堆棧跟蹤的一部分:
2016-04-02 18:58:02.768 Pilot[5442:679789] *** Assertion failure in -[NSCollectionView setItemPrototype:], /Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1404.46/Binding.subproj/NSCollectionView.m:1286
2016-04-02 18:58:02.971 Pilot[5442:679789] An uncaught exception was raised
2016-04-02 18:58:02.971 Pilot[5442:679789] Use -registerNib:forItemWithIdentifier: and -registerClass:forItemWithIdentifier: with new CollectionViews
任何幫助將不勝感激。
你註冊「fileItem」與registerNib或registerClass?或者以其他方式創建/將它連接到.xib文件中? – PRB
@PRB我沒有在任何地方註冊「fileItem」。這可能是問題所在。我不完全確定這個參數的含義以及我應該如何註冊。 – Rohan
如果您使用故事板來設計佈局,則集合視圖中應該有一個Collection View Cell。轉到屬性檢查器(在右側,故事板的Utilities視圖),併爲單元格指定標識符「fileItem」(在Collection Reusable View下) – PRB