从 UITableViewController 继承的控制器中的自定义 uitableViewCell
Posted
技术标签:
【中文标题】从 UITableViewController 继承的控制器中的自定义 uitableViewCell【英文标题】:custom uitableViewCell in controller which inherit from UITableViewController 【发布时间】:2011-05-06 05:27:29 【问题描述】:我想创建自定义 UiTableViewCell,当我创建 TableView 时,它可以工作,就像在这个 example 中一样,继承自 UIViewController。但是当我创建从 UITableViewController(不是 UIViewController)继承的控制器,并在 xib 中创建 UITableViewCell,当然连接 IBOutlet 时,我得到了这个错误:
*** Assertion failure in -[UITableView _createPreparedCellForGlobalRow:withIndexPath:], /SourceCache/UIKit_Sim/UIKit-1448.89/UITableView.m:5678
2011-05-06 07:21:34.107 tabela[11424:207] * 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“UITableView 数据源必须从 tableView:cellForRowAtIndexPath 返回一个单元格:'
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath return cellOne;
【问题讨论】:
一小时前有人问过这个问题:***.com/questions/5906592/…。简短的故事是,以编程方式(而不是在 IB 中)制作您的自定义 UITableViewCell。 显示您的 cellForRow 代码 【参考方案1】:这是示例参考
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
// In your case it has to be the custom cell object here.
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"AnIdentifierString"];
if (cell == nil)
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"AnIdentifierString"] autorelease];
cell.textLabel.text = @"This text will appear in the cell";
return cell;
【讨论】:
是的,我知道,但我只想检查这是否有效,所以我写道: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath return cellOne; cellOne 当然是挂了 请看看这是否有帮助iphone.zcentric.com/2008/08/05/custom-uitableviewcell 是的,我知道这是可行的,有数百种方法可以创建自定义的 uitableviewCell,但我想知道为什么我的实现不起作用。以上是关于从 UITableViewController 继承的控制器中的自定义 uitableViewCell的主要内容,如果未能解决你的问题,请参考以下文章
从 UITableViewController 重新加载 tableView
从 UITableViewController 加载通用视图
从 firebase 获取数据到 UITableViewController - swift
如何从 UiTableViewController 访问自定义 UITableViewCell 的属性?