使协议的属性符合 KVC
Making a protocol's property KVC compliant
我正在使用 Xcode 6.1.1 和 iOS SDK 8.1
我有一个从 NSObject
派生的 class,但它的属性是在一个协议中定义的(它被称为 phoneNumber
,我不认为这是一个有问题的名称)。我收到错误消息
this class is not key value coding-compliant for the key phoneNumber.
所以我自己实现了 valueForKey:
和 setValue:ForKey:
方法并修复了它。是否有更好的方法使其符合 KVC 标准?
自动 属性 合成不会合成协议中声明的属性,您需要合成它。(或手动创建 getter 和 setter)。
在实现协议的 class 中,在实现文件中添加这一行。
@synthesize phoneNumber = _phoneNumber;
我正在使用 Xcode 6.1.1 和 iOS SDK 8.1
我有一个从 NSObject
派生的 class,但它的属性是在一个协议中定义的(它被称为 phoneNumber
,我不认为这是一个有问题的名称)。我收到错误消息
this class is not key value coding-compliant for the key phoneNumber.
所以我自己实现了 valueForKey:
和 setValue:ForKey:
方法并修复了它。是否有更好的方法使其符合 KVC 标准?
自动 属性 合成不会合成协议中声明的属性,您需要合成它。(或手动创建 getter 和 setter)。
在实现协议的 class 中,在实现文件中添加这一行。
@synthesize phoneNumber = _phoneNumber;