我在Objective C中有一个NSMutableArray对象.我根据数据文件的内容填充它,其中包含每个元素应该包含的类和参数列表.所有可能的类都继承自公共父类.
有没有办法实例化数组的每个元素而不对大规模if-else测试中的每个可能的类进行硬编码?
您当前在数据文件中存储类的名称以及对象的参数.
因此,您可以使用NSClassFromString实例化该自定义类对象并初始化其状态:
NSString *_myCustomClass = // get custom class name from data file...
id _myCustomObject = [[NSClassFromString(_myCustomClass) alloc] init];
// set up _myCustomObject's state from data file's parameters...
[_myMutableArray addObject:_myCustomObject];
[_myCustomObject release];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
725 次 |
| 最近记录: |