当我使用Xib构建多个TabelViewCell视图时,我不想将identfier编写为静态,并且此Xib包含多种Cell类型。
但是,如果使用系统提供的方法,TableView将没有针对UINib子类注册标识符的方法。
- (void)registerNib:(nullable UINib *)nib forCellReuseIdentifier:(NSString *)identifier NS_AVAILABLE_IOS(5_0);
我尝试使用此方法进行动态标识符注册。但默认情况下,它仅读取Xib中的第一个视图。
因此,我使用以下方法进行动态NIb标识符设置
YZHPhoneContactCell* cell = [tableView dequeueReusableCellWithIdentifier:identifierID];
if (cell == nil) {
UINib* nib = [UINib nibWithNibName:@"YZHPhoneContactCell" bundle:nil];
cell = [[nib instantiateWithOwner:nil options:nil] objectAtIndex:cellType];
[cell setValue:identifierID forKey:@"reuseIdentifier"];
}
我可以通过这种方式正常运行,但是我不知道这是否属于调用系统的私有方法并影响我的App Appstore审核。
或者,如果您有更好的方法来动态注册Nib多个子视图标识符,请告诉我。谢谢