UIViewController 无法查看 UITableViewController
Posted
技术标签:
【中文标题】UIViewController 无法查看 UITableViewController【英文标题】:UIViewController can not view UITableViewController 【发布时间】:2011-11-19 21:01:19 【问题描述】:我有 2 个视图。第一个是主 UIViewController,第二个是 UITableViewController,它有我要显示的数据。
所以我在第一个按钮上放了一个按钮,我想从我的 UIViewController 转到 mytableviewcontroller。但是,当编写此代码时,我的应用程序崩溃了我的代码有什么问题?
错误:线程1程序收到信号sigabrt
-(IBAction) displayTableView:(id) sender
myTableViewController = [[MyTableViewController alloc]
initWithNibName:@"TableViewController"
bundle:nil];
[[self view] addSubview:myTableViewController.view]; // thread 1 program received signal sigabrt
感谢前辈
【问题讨论】:
可以添加崩溃日志吗?是xib吗?你在这些类的 viewDidLoad 中有什么? 这是在我的 UITableViewController - (void)viewDidLoad [super viewDidLoad];数据库名称 = @"my.db"; NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDir = [documentPaths objectAtIndex:0]; databasePath = [documentsDir stringByAppendingPathComponent:databaseName]; [自我检查AndCreateDatabase]; [自读AnimalsFromDatabase]; 【参考方案1】:`addSubview` does not retain your `myTableViewController`, so the app crashes.
您应该使用 myTableViewController 的属性,或者更好的是,将您的控制器放在 UINavigationController 中
【讨论】:
myTableViewController 如何使用属性??或者如何将我的控制器放入 UINavigationController【参考方案2】:这应该可行。还有一些其他的问题。从您发布的代码中,您的视图控制器名称为:MyTableViewController,您提供的 nib 名称为:TableViewController。通常,当您使用 xib 创建视图控制器时,它具有相同的名称。如果您已经单独创建了 xib,请确保您已在界面构建器中连接了视图出口。应该可以的。
【讨论】:
我已经在界面生成器中连接了视图出口。 我已将控制器放入 UINavigationController 非常感谢所有以上是关于UIViewController 无法查看 UITableViewController的主要内容,如果未能解决你的问题,请参考以下文章
未分配给父 UIViewController 视图属性时,UITableView 不滚动