如果我们在两个单元格中都包含相同的内容(例如2个标签和1个imageview),谁能帮助我优化下面的代码。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView == booksTbl) { // Your conditions here to choose between Books and Movies
BookCell *cell = [tableView dequeueReusableCellWithIdentifier:@"bookCell"];
if (!cell)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"bookCell"];
}
return cell;
} else {
MovieCell *cell = [tableView dequeueReusableCellWithIdentifier:@"movieCell"];
if (!cell)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"movieCell"];
}
return cell;
}
我已经尝试通过将UITablewViewCell作为普通对象并根据条件进行尝试,使用适当的单元格对其进行强制转换。但这对我不起作用。
最佳答案
试试这个:
BookCell *cell = (BookCell*)[tableView dequeueReusableCellWithIdentifier:@"bookCell"];
if(cell == nil){
// NSLog(@"---Cell Allocated Memory---");
cell = (BookCell *)[[[NSBundle mainBundle] loadNibNamed:@"BookCell" owner:nil options:nil] lastObject];
[cell setRestorationIdentifier:@"bookCell"];
}
关于ios - 优化多个单元的CellForRow方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34650382/