self.typeOfAssetLabel.text 如何进行 KVC

how to KVC for self.typeOfAssetLabel.text

我有一些 UILabels 连接到 UIOutlet 属性。我想通过 KVC 为标签设置文本 属性,因为我将标签-属性-名称设置为字符串。

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

self.typeOfAssetLabel.text = @"Hello";

现在,在 KVC 中会是什么?

我试过了:

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

这行得通。但是这样我就无法通过字符串设置属性名称typeOfAssetLabel

我想这应该行得通

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

但是这样我得到了 "is not key-value complient..." 错误。什么是正确的方法。

你想要的是:

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

诀窍是在路径中有多个键时使用 forKeyPath 而不是 forKey