3

我一直在尝试创建一个数据模型类,同时遵循 NSKeyValueCoding 协议。我不断收到以下错误:“找不到协议声明”当我尝试#import“NSKeyValueCoding.h”时,我收到文件未找到错误。

我在哪里可以找到这个协议,或者它还能如何实现?

4

1 回答 1

6

NSKeyValueCoding是基金会的一部分。因此,如果#import <Foundation/Foundation.h>您已经包含标题。

NSKeyValueCoding是一个非正式的协议。这意味着类没有明确地符合它。相反:协议声称它所声明的类,NSObject在这种情况下,确实理解它的所有方法。

所以:您不能NSObject在 Cocoa 中编写不符合 KVC 的(派生)类。

但是:您可以向此类添加不符合 KVC 的属性,例如通过为访问器使用有趣的名称。实现遵循符合 KVC甚至KVO的规则可能是有意义的。

于 2013-02-18T16:39:14.217 回答