1

kullanılırken onaylama hatası Şu anda Swift ile bir OS X uygulaması geliştiriyorum. Ana görünümde bir NSCollectionView kullanmaya çalışıyorum ve .xib dosyama bir NSCollectionView nesnesi ekledim. Veri kaynağını bağlama ve dosya sahibine vermekten başka bir şey yapmadım. NSCollectionView

Bu

ben NSCollectionViewDataSource protokolünü uygulamak için yazdım kod şudur: Benim kod çalıştırdığınızda

Şimdi
/// 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 
    } 

} 

, ben yakalanmamış istisna alıyorum ve uygulama çöker ve neden emin değilim . İşte yararlı olduğunu düşündüğüm yığın izinin bir kısmı:

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 

Herhangi bir yardım büyük memnuniyetle karşılanacaktır.

+1

"fileItem" dosyasını registerNib veya registerClass ile kaydettirdiniz mi? Veya aksi halde .xib dosyasında oluşturuldu mu? – PRB

+0

@PRB "fileItem" dosyasını hiçbir yerde kaydetmedim. Bu sorun olabilir. Bu parametrenin ne anlama geldiğini ve nasıl kaydedeceğimi tam olarak bilmiyorum. – Rohan

+1

Mizanpajınızı düzenlemek için film şeridini kullandıysanız, Toplama Görünümünde bir Toplama Görüntüleme Hücresi olmalıdır. Nitelikler Denetçisine (sağ tarafta, Storyboard'un yardımcı görünümleri) gidin ve hücreye tanımlayıcıyı "fileItem" (Koleksiyon Yeniden Kullanılabilir Görünümü) – PRB

cevap

0

Böyle özel görünümler kayıt vardır:

collectionView.register(MyFileCollectionViewItem.self, forItemWithIdentifier: "fileItem") 

toplama görünüm içine herhangi bir öğe yüklemeden önce (Ben oluşturulan veya onun kumandanın viewDidLoad() içinde aynısını blokta öneririz).