在iOS5中,在故事板上使用ARC和原型单元格用于tableView,我可以替换下面的代码:
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView
dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
}
// Configure the cell...
return cell;
使用这个简单的代码?:
UITableViewCell *cell = [tableView
dequeueReusableCellWithIdentifier:@"Cell"];
return cell;
我在这个链接上看到了这个:
http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1
提前感谢!
答案 0 :(得分:2)
发生此问题是因为您没有从故事板创建MenuViewController
。你正在创建它:
MenuViewController *menuViewController = [[MenuViewController alloc] init];
MenuViewController
的实例未连接到故事板,因此它不知道故事板中的原型单元格。
您需要进入故事板并将MenuViewController
的标识符设置为menuViewController
。然后你可以创建一个像这样的实例:
MenuViewController *menuViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"menuViewController"];
答案 1 :(得分:0)
我的解决方案终于如此:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier
forIndexPath:indexPath];
cell = [cell initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];
因为从iOS 5.0开始,第一行代码永远不会产生nil值,我没有看到其他方法来指定我想要的样式。或者,我可以从库中添加一个Table View Controller实例,然后我可以编辑原型单元格中的样式。