0

所以我不确定这里发生了什么,但在 iOS 6 之前,使用故事板,我会这样做来创建一个 UITableViewCell 子类。

1)为我的网点创建的 UITableViewCell 子类 .h 和 .m。2)在storyboard的ViewController上创建的自定义UITableViewCell。将其标识更改为自定义 UITableViewCell。给它重用标识符名称。

然后,当我想在 ViewController 的类中实例化单元格时,在

static NSString *TotalDistanceCellIdentifier = @"TotalDistanceCellIdentifier";

在 viewDidLoad 中:

[self.tableView registerNib:[UINib nibWithNibName:@"TotalDistanceTableViewCell" bundle:nil] forCellReuseIdentifier:TotalDistanceCellIdentifier];

然后在 cellForRowAtIndexPath 中:

    TotalDistanceTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:TotalDistanceCellIdentifier];

    return cell;

在 iOS 5 和 5.1 中,我看到了我的 UITableViewCell。但是在我运行 iOS 6 或 iOS 6 模拟器的 iPhone 上,它会崩溃:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle:.....with name 'TotalDistanceTableViewCell''

iOS 6 中的 UItableViewCells 有什么变化吗?谢谢!

4

1 回答 1

2

你描述的方式从来都不是正确的。如果它以前有效,则可能是该异常是新的。

如果你有一个单独的 nib 文件,你只需要注册一个 nib 。对于故事板中的原型,只需使用重用标识符出列,tableView 将从您的原型创建新单元格。

只需删除 registerNib 行,你应该没问题。

于 2012-10-15T06:17:13.007 回答