valueforkey 对象属性是只读

调用属性valueforkey 方法出现问题:

@interface Value : NSObject
@property(nonatomic,getter = toString,readonly)NSString *stringVal;

-(NSString*) toString;
@end

当我调用[instanceOfValueClass valueForKey:@"stringVal"]。说键值不兼容。

信息如下:

[ valueForUndefinedKey:]: this class is not key value coding-compliant for the key stringVal

尝试把你的,重新指定getter的属性。设置成默认

@property(nonatomic,getter = toString,readonly)NSString *stringVal;

改成

@property(nonatomic,readonly) NSString *stringVal;

再用你的代码试试。如果能成功拿到,说明原因出在你重试getter访问器后,再使用原来的属性名称去访问时就找不到该key对应的值。