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】:KNPathTableViewController
将tableView
属性声明为readonly
,因此不会生成setter 方法。通常这不是问题,但在内部,实例变量定义为:
@synthesize tableView = __tableView;
这会破坏自动 KVC 支持。
预期用途是调用initWithStyle:infoPanelSize:
,它创建并设置对表视图的私有引用...
【讨论】:
谢谢@Wain。我正在使用情节提要,因此我必须使用- (id)initWithCoder:(NSCoder *)aDecoder
。你能给我一个如何实现它的例子吗?
您需要更改KNPathTableViewController
类以使tableView
属性可写,并在initWithCoder:
中进行任何其他配置。主要是重命名工作。以上是关于iOS - AppDelegate 此类与键视图的键值编码不兼容的主要内容,如果未能解决你的问题,请参考以下文章
iOS/Facebook 登录错误:此类与键的键值编码不兼容
未捕获的异常 'NSUnknownKeyException' - 此类与键 buttonPressed 的键值编码不兼容