3

在 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

提前致谢!

4

2 回答 2

2

发生此问题是因为您没有MenuViewController从情节提要中创建。您正在像这样创建它:

MenuViewController *menuViewController = [[MenuViewController alloc] init];

该实例MenuViewController没有连接到情节提要,因此它不知道情节提要中的原型单元。

您需要进入情节提要并将MenuViewController那里的标识符设置为menuViewController. 然后你可以像这样创建一个实例:

MenuViewController *menuViewController =  [self.storyboard instantiateViewControllerWithIdentifier:@"menuViewController"];
于 2012-02-04T18:41:51.113 回答
0

我的解决方案最终是这样的:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier
                                                          forIndexPath:indexPath];

cell = [cell initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];

因为从 iOS 5.0 开始,第一行代码永远不会产生 nil 值,而且我没有看到其他方法来指定我想要的样式。或者,我可以从库中添加一个 Table View Controller 实例,然后我可以在原型单元格中编辑样式。

于 2014-08-29T10:25:28.260 回答