【发布时间】:2012-02-01 04:20:52
【问题描述】:
我正在尝试使用 UITableView 创建自定义 UIViewController,使用 xib 文件加载 UIViewController 并将视图作为子视图添加到另一个 UIView。
层次结构是这样的:
- UIViewController
- UIView
- UI 视图
- UI 视图
这是我的 xib 视图层次结构和设置:
- UI 视图
- UITableView
IB 中的连接:
- 文件的所有者:CustomTableViewController
- 网点:
- 视图连接到 UIView
- tableView 连接到文件的所有者
- 委托连接到文件的所有者
- 连接到文件所有者的数据源
我同时实现了 UITableDataSource 和 UITableDelegate。 当我尝试将视图添加为子视图时,它崩溃了...
- (void)viewDidLoad
{
[super viewDidLoad];
CustomTableViewController* controller = [[CustomTableViewController alloc] initWithNibName:@"CustomTableView" bundle:[NSBundle mainBundle]];
[self.viewContainer addSubview:controller.view];
}
我错过了什么?
【问题讨论】:
-
告诉我们更多关于崩溃的信息。
-
它在 main() 中停止并显示以下消息:线程 1:程序收到信号:“EXC_BAD_ACCESS”。谢谢
-
听起来应该保留的东西没有保留。设置异常断点并开启僵尸帮助查找。 developer.apple.com/library/mac/ipad/#documentation/…
-
你是绝对正确的。我没有保存 CustomTableViewController 的实例变量,这就是我得到异常的原因。我添加了一个属性并使用 'self.controller = [[CustomTableViewController alloc] initWithNibName:@"CustomTableView" bundle:[NSBundle mainBundle]];'这样就解决了问题。再次感谢彼得。
-
Np。我将其添加为答案,以便我们可以结束这个问题。
标签: objective-c ios uitableview uiviewcontroller