雖然這些問題的答案是正確的,問題的根本原因是相當微妙和蘋果需要更新日誌中的錯誤消息。當你看到:
Unknown class MyViewCell in Interface Builder file.
這實際意味着是你的源代碼缺少@implementation聲明或.m文件還沒有被添加到目標。因此,檢查你的代碼,並確保您有:
@implementation MyViewCell
@end
這是雙方的UITableViewCell和UICollectionViewCell如此。
我在一般情況下進一步討論https://stackoverflow.com/a/12755891/539149問題。
有趣的是,如果你缺少@implementation,並呼籲:
[self.myCollectionView registerClass:[MyViewCell class] forCellWithReuseIdentifier:@"MyViewCell"];
您將看到:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_MyViewCell", referenced from:
objc-class-ref in MyViewController.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
所以蘋果知道這個問題,他們只是AREN」在編譯期間檢測它。我會建議不要將自定義單元格放入單獨的筆尖或調用registerClass:forCellWithReuseIdentifier :.將自定義單元存儲在其接口構建器中的UICollectionView或UITableView容器內更清潔。
OK,看來你只能佈局完全使用IB一個UICollectionView在故事板內。在.nib中,你會看到上面描述的行爲。在故事板中,您使用UICollectionView獲取UICollectionViewCell。那是怎麼回事??? – Alpinista
也有這個相同的問題,相當煩人 – adit
即使在故事板中,也不能將集合視圖單元淡化並拖放到集合視圖對象中。不知道爲什麼。 – theiOSguy