私はUICollectionView
に3種類のカスタムセルを表示しています。各セルは別々のxibで定義されます。前に、私はUICollectionView
でセルクラスを登録するためにregisterClassを使用しました。セルの初期設定子の中で、私はnibファイルからビューをロードするのに使用しました。このアプローチでは、いくつかのランダムなクラッシュは、それがcellForItemAtIndexPath
でセルをデキューするために行ったときに記録され、例外がキャッチされない例外により「NSInvalidUnarchiveOperationException」、理由にアプリを終了registerClassとregisterNibの違いUICollectionView
だった「という名前のクラス(null)をインスタンス化できませんでした。」
上記の正確なことは、ペン先からセルをロードしようとしたときに例外が発生したことです。今度はregisterClass
をregisterNib
に置き換えて、nibファイルを再び登録してUICollectionView
のセルIDを指定し、セル初期化子からnibローディングコードを削除します。それ以来、クラッシュは再び報告されていません。
registerClassとregisterNibの実際の違いは分かりますか?また、UICollectionView
のセルを指定する最良の方法は何ですか?
ドキュメントは何を表していますか? https://developer.apple.com/library/ios/documentation/UIKit/Reference/UICollectionView_class/#//apple_ref/occ/instm/UICollectionView/registerClass:forCellWithReuseIdentifier: –