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