これらの回答は正しいものですが、問題の根本的な原因は非常に微妙であり、Apple はログ内のエラー メッセージを更新する必要があります。あなたが見るとき:
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)
したがって、Apple は問題を認識しており、コンパイル中に問題を検出していないだけです。カスタム セルを別のペン先に配置したり、registerClass: forCellWithReuseIdentifier: を呼び出したりしないことをお勧めします。Interface Builder のコンテナ UICollectionView または UITableView 内にカスタム セルを格納する方がはるかにクリーンです。