【发布时间】:2011-02-23 09:22:39
【问题描述】:
我正在构建我的第一个 iPhone/Obj-c 应用程序,并且我有大量的数据保存子类,我将它们传递给一个 cite 函数。对于 cite 函数,这些对象是匿名的,我需要找到一种方法来访问每个传递对象的所有变量。 我一直在使用预先构建的 NSArray 和 Selectors 来执行此操作,但是有超过 30 个条目(并且还在增长),手动执行有点愚蠢。必须有一种方法可以动态查找匿名对象的所有变量。
obj-c runtime 运行时文档提到了这个问题,但据我所知,这在 iPhone OS 中不可用。如果是这样,那么我不了解实施并需要一些指导。 A similar question 之前有人问过,但我再次认为他们在谈论 OSX 而不是 iPhone。
有什么想法吗?
-(NSString*)cite:(id)source {
NSString *sourceClass = NSStringFromClass([source class]);
// Runs through all the variables in the manually built methodList
for(id method in methodList) {
SEL x = NSSelectorFromString(method);
// further implementation
// Should be something like
NSArray *methodList = [[NSArray alloc] initWithObjects:[source getVariableList]]
for(id method in methodList) {
SEL x = NSSelectorFromString(method);
// Further implementation
}
【问题讨论】:
标签: iphone objective-c