我正在设计我的应用程序,根据设计,tableView应该根据可重用的标识符加载任何自定义单元格。
从webservice tableView将获得可重用标识符的列表,tableView将根据标识符加载所有单元格。
这是我的cellForRowAtIndex
方法
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:[_cardsIdentifier objectAtIndex:indexPath.row]];//_cardsIdentifier is array of identifiers
if (cell == nil) {
// Load the top-level objects from the custom cell XIB.
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:[_cardsIdentifier objectAtIndex:indexPath.row] owner:self options:nil];
// Grab a pointer to the first object (presumably the custom cell, as that's all the XIB should contain).
cell = [topLevelObjects objectAtIndex:0];
}
NSLog(@"%@",cell.reuseIdentifier);
cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
}
正如我可以看到我对nib名称也使用相同的标识符。 当可重用标识符和nib名称相同时,它将正常工作,但如果nib名称与可重用标识符不同,它将崩溃。
任何人都可以建议我如何删除这个笔尖名称的依赖。
答案 0 :(得分:0)
注册您的手机课
[self.tableView registerClass:[UITableViewCell class]
forCellReuseIdentifier:cellIdentifier];
在你的cellForRowAtIndexPath
中UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
答案 1 :(得分:0)
您可以在.xib文件中设置标识。