使协议的属性符合KVC

时间:2015-01-08 08:22:17

标签: objective-c protocols key-value-coding

我正在使用Xcode 6.1.1和iOS SDK 8.1

我有一个派生自NSObject的类,但其属性是在协议中定义的(它被称为phoneNumber,我不相信这是一个有问题的名称)。我收到了错误消息

this class is not key value coding-compliant for the key phoneNumber.

所以我自己实施了valueForKey:setValue:ForKey:方法并修复了它。是否有更好的方法使其符合KVC标准?

1 个答案:

答案 0 :(得分:4)

自动属性合成不会合成协议中声明的属性,需要合成它。(或手动创建getter和setter)。

在实现协议的类中,在实现文件中添加此行。

@synthesize phoneNumber = _phoneNumber;