我有一个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/

10-09 07:02