Objective c 在xib和注册中使用不同的reuseIdentifier,有什么副作用?

Objective c 在xib和注册中使用不同的reuseIdentifier,有什么副作用?,objective-c,uitableview,cocoa-touch,uikit,Objective C,Uitableview,Cocoa Touch,Uikit,在我的xib中,我将单元格的重用标识符设置为 但是在-registernb:forCellReuseIdentifier:中,我声明了“B” 这种行为的后果是什么?所有看起来运行正常,为什么有两个地方可以输入重用标识符?您可以安全地忽略xib中的reuseIdentifier字段 因为在处理XIB时,该选项实际上是非常无用的。这可能是因为Xcode使用的用户界面与编辑故事板时使用的用户界面完全相同。 与故事板相比,在xibs中,单元格和表视图之间没有连接。该单元格甚至存储在不同的文件中。因此,该

在我的xib中,我将单元格的重用标识符设置为

但是在
-registernb:forCellReuseIdentifier:
中,我声明了“B”


这种行为的后果是什么?所有看起来运行正常,为什么有两个地方可以输入重用标识符?

您可以安全地忽略xib中的reuseIdentifier字段

因为在处理XIB时,该选项实际上是非常无用的。这可能是因为Xcode使用的用户界面与编辑故事板时使用的用户界面完全相同。
与故事板相比,在xibs中,单元格和表视图之间没有连接。该单元格甚至存储在不同的文件中。因此,该单元不会,也不能使用其reuseIdentifier退出队列/创建


如果在xib中有一个单元格,则必须在代码中注册它。此过程在tableView和单元格(或其xib)之间创建连接

因此,当我使用自定义xib时,会忽略该属性,并且只使用[self.tableView registerNib:forCellReuseIdentifier:IDENTIFIER]中的值?但是当我使用UIView*cell=[[[NSBundle mainBundle]loadNibNamed:NSStringFromClass(cellClass)所有者:nil选项:nil]firstObject]手动加载单元格时会发生什么;
    [self.tableView registerNib:[UINib nibWithNibName:@"A" bundle:nil]
 forCellReuseIdentifier:@"B"];