iOS - AppDelegate 此类与键视图的键值编码不兼容

Posted

技术标签:

【中文标题】iOS - AppDelegate 此类与键视图的键值编码不兼容【英文标题】:iOS - AppDelegate this class is not key value coding-compliant for the key view 【发布时间】:2014-02-02 18:51:43 【问题描述】:

在尝试实现A replica of Path’s table view 后,我收到了这个奇怪的错误。

'[<InboxViewController 0xcb1b260> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key tableView.'

按照这些线程remove-IBOutlets 的建议,我尝试删除IBOutlet 连接。还是不行。

当我包含时出现问题

@interface InboxViewController : KNPathTableViewController <NetworkEngineDelegate, UIScrollViewDelegate> .

当使用UIViewController 而不是KNPathTableViewController 时,应用可以正常工作:

 @interface InboxViewController : KNPathTableViewController <NetworkEngineDelegate, UIScrollViewDelegate>

下面是我的故事板截图。

当我删除Table View 连接时,错误消失了。我有一个空白屏幕(因为插座中没有连接)。

可能是什么问题?

【问题讨论】:

【参考方案1】:

KNPathTableViewControllertableView 属性声明为readonly,因此不会生成setter 方法。通常这不是问题,但在内部,实例变量定义为:

@synthesize tableView = __tableView;

这会破坏自动 KVC 支持。

预期用途是调用initWithStyle:infoPanelSize:,它创建并设置对表视图的私有引用...

【讨论】:

谢谢@Wain。我正在使用情节提要,因此我必须使用- (id)initWithCoder:(NSCoder *)aDecoder。你能给我一个如何实现它的例子吗? 您需要更改KNPathTableViewController 类以使tableView 属性可写,并在initWithCoder: 中进行任何其他配置。主要是重命名工作。

以上是关于iOS - AppDelegate 此类与键视图的键值编码不兼容的主要内容,如果未能解决你的问题,请参考以下文章

此类与键视图的键值编码不兼容

iOS/Facebook 登录错误:此类与键的键值编码不兼容

iOS 应用程序(此类与键数据源的键值编码不兼容)

情节提要:此类与键的键值编码不兼容

未捕获的异常 'NSUnknownKeyException' - 此类与键 buttonPressed 的键值编码不兼容

此类与键错误的键值编码不兼容