说我有这段代码
NSMutableString *object;
[object setString:@"myVar"];
稍后如何将对象用作var名称?
...即
[object.string someMethod];
其中someMethod在myVar对象上调用(对象的字符串文本)
这可能吗?
答案 0 :(得分:5)
Cocoa允许您使用Key-Value Coding访问属性和字段。如果NSString
(可变或不可变)具有属性的名称,则可以使用该字符串从对象中检索相应属性的值:
MyObject *myObj = ...
NSMutableString *varName;
[varName setString:@"myVar"];
[myObj valueForKey:varName];
答案 1 :(得分:1)
你的问题不明确。可能你正在寻找NSClassFromString方法。
如果someMethod
是类方法,那么您可以使用:
[NSClassFromString(object) performSelector:@selector(someMethod)];