Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios registerClass和RegisterInB UICollectionView之间的差异_Ios_Objective C_Uicollectionview - Fatal编程技术网

Ios registerClass和RegisterInB UICollectionView之间的差异

Ios registerClass和RegisterInB UICollectionView之间的差异,ios,objective-c,uicollectionview,Ios,Objective C,Uicollectionview,我有一个UICollectionView,其中显示了3种不同类型的自定义单元格。每个单元格在单独的xib中定义。以前,我使用registerClass在UICollectionView中注册cell类。在单元格的初始化器中,我习惯于从nib文件加载视图。使用这种方法,当它进入cellForItemAtIndexPath中的出列单元时,很少记录到随机崩溃,异常被忽略 由于未捕获的异常“NSInvalidUnarchiveOperationException”而终止应用程序,原因:“无法实例化名为(

我有一个
UICollectionView
,其中显示了3种不同类型的自定义单元格。每个单元格在单独的xib中定义。以前,我使用registerClass在
UICollectionView
中注册cell类。在单元格的初始化器中,我习惯于从nib文件加载视图。使用这种方法,当它进入
cellForItemAtIndexPath
中的出列单元时,很少记录到随机崩溃,异常被忽略

由于未捕获的异常“NSInvalidUnarchiveOperationException”而终止应用程序,原因:“无法实例化名为(null)的类”

准确地说,当它试图从nib加载传感器时,发生了上述异常。现在我用
registerNib
替换了
registerClass
,为
UICollectionView
重新注册nib文件单元标识符,并从单元初始化器中删除nib加载代码。从那以后,再也没有关于这起坠机事件的报道


我可以知道registerClass和RegisterNB的实际区别吗?另外,为
UICollectionView
指定单元格的最佳方式是什么?

如果单元格类是用代码编写的,请使用registerClass:方法。
如果单元格包含在Interface Builder NIB文件中,则使用registernb:方法。

文档说明了什么如果这两个都是真的?@lulian registerBIF如果您对单元格使用xib,请仅使用register nib。如果在register nib之后调用register类,可能会出现应用程序崩溃之类的问题