【问题标题】:UIViewController can not view UITableViewControllerUIViewController 无法查看 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]; }

标签: ios cocoa-touch uiviewcontroller uitableview tableview


【解决方案1】:
`addSubview` does not retain your `myTableViewController`, so the app crashes.

您应该使用 myTableViewController 的属性,或者更好的是,将您的控制器放在 UINavigationController 中

【讨论】:

  • myTableViewController 如何使用属性??或者如何将我的控制器放入 UINavigationController
【解决方案2】:

这应该可行。还有一些其他的问题。从您发布的代码中,您的视图控制器名称为:MyTableViewController,您提供的 nib 名称为:TableViewController。通常,当您使用 xib 创建视图控制器时,它具有相同的名称。如果您已经单独创建了 xib,请确保您已在界面构建器中连接了视图出口。应该可以的。

【讨论】:

  • 我已经在界面生成器中连接了视图出口。
  • 我已将控制器放入 UINavigationController 非常感谢所有
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-07
  • 2016-01-04
  • 2013-12-29
  • 2012-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多