开发者社区 问答 正文

关于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

展开
收起
爵霸 2016-03-17 11:50:06 2223 分享 版权
1 条回答
写回答
取消 提交回答
  • 尝试把你的,重新指定getter的属性。设置成默认
    `@property(nonatomic,getter = toString,readonly)NSString *stringVal;
    `

    改成
    `@property(nonatomic,readonly) NSString *stringVal;
    `

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

    2019-07-17 19:05:02
    赞同 展开评论
问答地址: