所以在我的视图控制器中,我试图在我的视图中添加一个表视图。我已经为它创建了一个属性,在我的viewDidLoad方法中,我正在初始化它,
//Setup the table view
self.myTableView = [[UITableView alloc] initWithFrame:CGRectMake(160, 183, 320, 367) style:UITableViewStylePlain];
self.myTableView.dataSource = self;
self.myTableView.delegate = self;
[self.view addSubview:myTableView];
但由于某种原因,我收到以下错误,
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "MyViewController" nib but the view outlet was not set.'***
我的nib文件中没有IBOutlet的设置或任何表视图,为什么我会收到此错误?
答案 0 :(得分:2)
此错误未连接到myTableView属性。您的项目中有一个名为MyTableView的笔尖正在尝试加载,但是由于没有连接viewController(很可能是“文件所有者”)的“视图”插座而出现问题。如果你连接它,它应该没问题。
此外,除非您将第一行代码更改为:
,否则您将泄漏内存self.myTableView = [[[UITableView alloc] initWithFrame:CGRectMake(160, 183, 320, 367) style:UITableViewStylePlain] autorelease];
分配内容时,必须在完成后释放它(在设置myTableView属性时再次保留该对象。)
答案 1 :(得分:0)
在IB中需要完成几件事情才能让表格视图正确加载声音,因为nib文件正在加载,因为它们没有为界面构建器中的视图设置插座。在IB中尝试控制从文件所有者拖动到表视图,当菜单弹出时选择view.This将UItableViewController的view属性设置为tableview。
不确定但要尝试一下。