iOS xib 文件 IBOutlet 无法识别 -(class 不符合键值编码)
iOS xib file IBOutlet not recognized - (class not key-value coding compliant)
我是 运行 XCode 7.1 和 运行 在设备上(iOS 9)-(不是模拟器)。我正在按名称加载一个 nib 文件:
MyDetailsViewController *myDetailsVC = [MyDetailsViewController initWithNibNamed:@"MyDetails" withNotificationCenter:notificationCenter];
这只是我设置的一个 class 方法,它通过 mainBundle 加载 xib。 xib 文件只是一个 UIView
,里面有一个 tableview,一切似乎都已正确连接。但是,当从包中加载笔尖(viewWillAppear
、viewDidLoad
等尚未执行)时,出现错误:
NSUnknownKeyException, reason: '[MyDetailsViewController setValue:forUndefinedKey:]:This class is not
key value coding-compliant for the key tableView'
我知道我不会取回一些通用视图控制器,因为它非常清楚地说明了我们正在谈论的视图控制器。文件所有者似乎已正确连接,其自定义 Class 设置为 MyDetailsViewController
。即使我在代码中将鼠标悬停在 IBOutlet 'circle' 上时,tableview 也会突出显示,以及当我在检查插座时将鼠标悬停在菜单上时。
可能完全不相关的是 xib 文件中的内部错误消息,它可能与我的问题有关,也可能无关,我以前从未见过。您从该错误中获得的日志文件的开头是:
谁能帮我确定这是怎么回事?我会很感激。
这里还有一些截图:
在 init
之前你应该先调用 alloc
:
// MyDetailsViewController *myDetailsVC = [MyDetailsViewController initWithNibNamed:@"MyDetails" withNotificationCenter:notificationCenter];
MyDetailsViewController *myDetailsVC = [[MyDetailsViewController alloc] initWithNibNamed:@"MyDetails" withNotificationCenter:notificationCenter];
我是 运行 XCode 7.1 和 运行 在设备上(iOS 9)-(不是模拟器)。我正在按名称加载一个 nib 文件:
MyDetailsViewController *myDetailsVC = [MyDetailsViewController initWithNibNamed:@"MyDetails" withNotificationCenter:notificationCenter];
这只是我设置的一个 class 方法,它通过 mainBundle 加载 xib。 xib 文件只是一个 UIView
,里面有一个 tableview,一切似乎都已正确连接。但是,当从包中加载笔尖(viewWillAppear
、viewDidLoad
等尚未执行)时,出现错误:
NSUnknownKeyException, reason: '[MyDetailsViewController setValue:forUndefinedKey:]:This class is not key value coding-compliant for the key tableView'
我知道我不会取回一些通用视图控制器,因为它非常清楚地说明了我们正在谈论的视图控制器。文件所有者似乎已正确连接,其自定义 Class 设置为 MyDetailsViewController
。即使我在代码中将鼠标悬停在 IBOutlet 'circle' 上时,tableview 也会突出显示,以及当我在检查插座时将鼠标悬停在菜单上时。
可能完全不相关的是 xib 文件中的内部错误消息,它可能与我的问题有关,也可能无关,我以前从未见过。您从该错误中获得的日志文件的开头是:
谁能帮我确定这是怎么回事?我会很感激。
这里还有一些截图:
在 init
之前你应该先调用 alloc
:
// MyDetailsViewController *myDetailsVC = [MyDetailsViewController initWithNibNamed:@"MyDetails" withNotificationCenter:notificationCenter];
MyDetailsViewController *myDetailsVC = [[MyDetailsViewController alloc] initWithNibNamed:@"MyDetails" withNotificationCenter:notificationCenter];