我有一个UICollectionView
,它显示3种不同类型的自定义单元格。每个单元格都在单独的xib中定义。在我以前使用registerClass向UICollectionView
注册单元格类之前。在单元的初始化程序内部,我曾经从nib文件加载视图。通过这种方法,当它进入cellForItemAtIndexPath
的出队单元时,几乎没有记录到随机崩溃,并且异常是
由于未捕获的异常“NSInvalidUnarchiveOperationException”而终止应用程序,原因:“无法实例化名为(空)的类”
确切地说,当它试图从笔尖加载细胞时发生了上述异常。现在,我用registerClass
替换了registerNib
,再次为UICollectionView
注册了nib文件单元标识符,并从单元初始化器中删除了nib加载代码。从那以后,没有再发生以上崩溃的报道。
我可以知道registerClass和registerNib的实际区别是什么吗?另外,为UICollectionView
指定单元格的最佳方法是什么?
最佳答案
如果单元格类是用代码编写的,请使用registerClass:方法。
如果单元包含在Interface Builder NIB文件中,则使用registerNib:方法。
关于ios - registerClass和registerNib UICollectionView之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38875149/