如何KVC for self.typeOfAssetLabel.text

时间:2015-01-30 15:04:13

标签: ios objective-c kvc

我有一些UILabelsUIOutlet属性相关联。我想通过KVC为标签设置text属性,因为我将label-property-names作为字符串。

所以,通常(没有KVC)我会像这样访问它们:

self.typeOfAssetLabel.text = @"Hello";

现在,KVC会是什么?

我试过了:

[self.typeOfAssetLabel setValue:@"test" forKey:@"text"];

这是有效的。但是这样我就不能用字符串设置属性名typeOfAssetLabel

我猜这应该有用

[self setValue:@"test" forKey:@"typeOfAssetLabel.text"];

但这样我得到的“不是键值兼容......”错误。什么是正确的方法。

1 个答案:

答案 0 :(得分:2)

你想要的是:

[self setValue: @"test" forKeyPath: @"typeOfAssetLabel.text"];

当路径中有多个密钥时,诀窍是使用forKeyPath而不是forKey