Can*_*pus 8 storyboard uitableview xcode4 automatic-ref-counting
这让我疯了!
我有一个通用的UITableViewController类,带有一个通用的原型单元格,标识符为"myCell".在ARC,iOS5下开发并使用Storyboard,我使用以下方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"myCell"];
cell.textLabel.text = @"Title";
return cell;
}
Run Code Online (Sandbox Code Playgroud)
一切都挂在故事板,文件所有者等等.我的项目中有其他几个UITableViewController,使用相同的概念.一切正常.这个特殊类的UITableViewController不想工作!继续扔我的例外:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:'
Run Code Online (Sandbox Code Playgroud)
Nslog'ed - > [tableView dequeueReusableCellWithIdentifier:@"myCell"] =(null)
任何想法和帮助非常感谢!
编辑:
为简单起见: - (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section {return 1; }
我已经完成的事情:1.在故事板中删除并创建和设置UITableViewController!2.重新启动Xcode 3.重新启动模拟器4.重新启动计算机!!!! 5.一遍又一遍地删除并构建应用程序!没有用.
顺便说一下,我试过了
if (cell == nil)
cell = [UITableViewCell alloc] initWithStyle....
Run Code Online (Sandbox Code Playgroud)
..它将解决问题,但是再次......这是ARC,故事板,......我不应该这样做.Xcode应该照顾它!
最终我发现了这个错误。我不能说我找到了根本原因,但是逐行调查,这就是我发现并为我工作的内容。
我的视图中有一些对象UITableViewController需要在加载视图之前进行分配/初始化,以便调用者可以将它们设置为预先确定的值。由于viewDidLoad为时已晚,我将它们放入initWithCoder方法中。
提出并重写该initwithCoder方法解决了问题。在我看来,这种initWithCoder方法正在启动,UITableViewController有些不同!
| 归档时间: |
|
| 查看次数: |
4698 次 |
| 最近记录: |