答案 0 :(得分:7)
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if (self = [super initWithNibName:@"MyNibName" bundle:nibBundleOrNil]) {
// Custom initialization
}
return self;
}
答案 1 :(得分:2)
我昨晚遇到了同样的问题,并在尝试搜索答案时发现了这篇文章。我最终解决了它。
基本上我打开了错误的XIB文件(我希望main_window.xib,而不是视图控制器xib)
我从主xib切下所有控件,将它们粘贴到控制器xib中,重新排列所有内容,重新连接所有出口/操作并且警告消失了:)
希望这有助于某人:)
答案 2 :(得分:1)
Eagle,在创建新文件时,选择“UIViewController子类”图标。有一个复选框,使其成为UITableViewController子类,就在复选框上方,包含XIB文件。
答案 3 :(得分:1)
你有两个地方,你的UITableViewController出现在Interface Builder中。
(1)它以控制器自己的名字显示在笔尖中。
(2)它在另一个对象的nib中显示为控制器对象,通常是MainWindow。
你的问题在(2)。在“接口”构建器中,有两种方法可以为UITableViewController设置tableview。首先,您可以在MainWindow中的控制器下创建一个UITableView,并将其连接到控制器的view属性。其次,您可以在属性窗格中打开检查器,并在列出的“NibName”弹出菜单中选择控制器笔尖的名称。
您不能同时使用这两个系统,因为第一个从MainWindow nib文件加载视图,第二个从控制器的单独nib文件加载完全不相关的视图。
这是使用Interface Builder难以追踪的令人抓狂的错误之一。
答案 4 :(得分:0)
我将使用“新文件”iPhone UI模板创建一个选中了xib文件选项的TableViewController,而不是完成所有这些操作。然后你得到一个控制器和xib文件都正确连接在一起。