我有UICollectionView
,显示3种不同类型的自定义单元格。每个单元格在单独的xib中定义。之前我曾经使用registerClass来注册UICollectionView
的单元格类。在单元格的内部初始化中,我用来从nib文件加载视图。使用这种方法,当cellForItemAtIndexPath
中的单元格出列时,记录的随机崩溃很少,而异常是
由于未捕获的异常终止应用程序' NSInvalidUnarchiveOperationException',原因:'无法实例化名为(null)的类'
准确地说,当它试图从笔尖加载单元格时发生异常。现在我用registerClass
替换registerNib
,再次为UICollectionView
注册nib文件的单元标识符,并从单元初始化器中删除nib加载代码。从那时起,上面的崩溃再次没有被报道。
我可以知道registerClass和registerNib的实际区别是什么吗?另外,为UICollectionView
指定单元格的最佳方法是什么?
答案 0 :(得分:4)
如果单元类是用代码编写的,请使用registerClass:方法。 如果单元格包含在Interface Builder NIB文件中,则使用registerNib:方法。