Mel*_*emi 2 cocoa cocoa-touch objective-c key-value-coding
我正在尝试用KVC更新一些属性.这些属性已经合成.
这条线有效:
myObject.value = intValue;
Run Code Online (Sandbox Code Playgroud)
这不起作用:
[self setValue:[NSNumber numberWithInt:intValue] forKey:@"myObject.value"];
Run Code Online (Sandbox Code Playgroud)
并且爆发: 由于未捕获的异常'NSUnknownKeyException'终止应用程序,原因:'[<MyViewController 0xd1cec0> setValue:forUndefinedKey:]:此类与密钥myObject.value不符合密码值编码.
然而,该方法(awakeFromNib)的其他实例还可以对setValue:forKey:calls做出很好的响应.唯一的区别是这个特定的实例是在IB中创建和连接的.
您不能将键路径作为第二个参数传递给-[NSObject setValue:forKey:].您想要使用setValue:forKeyPath::
[self setValue:[NSNumber numberWithInt:intValue] forKeyPath:@"myObject.value"];
Run Code Online (Sandbox Code Playgroud)
我的理解是setValue:forKey:作为性能优化提供.由于它不能采用密钥路径,因此不必解析密钥字符串.
| 归档时间: |
|
| 查看次数: |
7477 次 |
| 最近记录: |