我有一个NSString *str = @"abc"
和一个对象,它有一个名为“abc”的属性。如何使用“str”访问该属性。我知道我必须使用objective-c 运行时,但不知道它是否可能。我不想设置该属性,而是想使用该属性,例如如果propert 'abc' 是一个数组,而不是我想向该数组添加一个对象。我经历过
这个链接,发现重新开始没什么帮助。
我有一个NSString *str = @"abc"
和一个对象,它有一个名为“abc”的属性。如何使用“str”访问该属性。我知道我必须使用objective-c 运行时,但不知道它是否可能。我不想设置该属性,而是想使用该属性,例如如果propert 'abc' 是一个数组,而不是我想向该数组添加一个对象。我经历过
这个链接,发现重新开始没什么帮助。
为此,您将需要使用键值编码:
本文档描述了
NSKeyValueCoding
非正式协议,该协议定义了一种机制,允许应用程序通过名称(或键)间接访问对象的属性,而不是直接通过调用访问器方法或作为实例变量。
您可以通过调用仅给定字符串来访问给定属性valueForKey:
。但是,如果您希望更改与该键关联的数组,则调用mutableArrayValueForKey:
将使您能够访问一个数组,该数组调用原始对象上的适当 mutator 方法(甚至给您对象本身,但这些是实现细节)当你改变它时。