类型Class
看起来不是Objective-C类型。因此将它存储到NSMutableArray
看起来需要特别小心。什么是正确方式做到这一点?将`Class`对象存储到`NSMutableArray`中的正确方法是什么?
3
A
回答
2
我不知道“正确的方式”,但不能把它存储为一个字符串?
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:NSStringFromClass([yourObject class])];
[array addObject:NSStringFromClass([anotherObject class])];
//稍后在您的代码中。
id yourObject = NSClassFromString([array objectAtIndex:0UL]);
希望它可以帮助。
-2
它可能更慢。当然要衡量一下。建议在设备上运行它,以便您了解它。
CFAbsoluteTime elapsedTime, startTime = CFAbsoluteTimeGetCurrent();
for (id object in array) {
if ([object isKindOfClass:[NSString class]])
id myObject = NSClassFromString(object);
//Do something with your object.
}
elapsedTime = CFAbsoluteTimeGetCurrent() - startTime;
NSLog(@"time in seconds: %f", elapsedTime);
11
类对象就像其他对象一样。您可以将它们存储在NSMutableArray
中,或者像对待对象一样对它们进行处理(例如,调用根类NSObject
的方法,如description
和performSelector...
等)。请注意,类型Class
是指针的泛型类型类对象,类似于类型id
是指向对象的泛型类型。因此,类型Class
的值也可以作为id
传递。
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:[yourObject class]];
[array addObject:[anotherObject class]];
//Later in your code.
Class yourObject = [array objectAtIndex:0UL];
相关问题
- 1. 将对象存储到NSMutableArray
- 2. 什么是存储对这个jQuery对象的引用的正确方法?
- 3. 将对象绑定到另一个对象的正确方法是什么?
- 4. 从Azure存储中加载XDocument的正确方法是什么
- 5. 在python中存储这个JSON的正确方法是什么?
- 6. 什么是在DOM中存储数据的正确方法
- 7. 将NSMutableArray保存到NSUserDefaults的最佳方法是什么?
- 8. 什么是存储持久对象的正确位置?
- 9. 什么是构建类,Python中的对象的正确方法
- 10. 在Rails/Ruby中检查对象是否存在的正确方法是什么?
- 11. 什么是嵌套块中保留对象的正确方法
- 12. 在Java中创建对象的正确方法是什么?
- 13. 在StackExchange.Redis中维护ConnectionMultiplexer对象的正确方法是什么?
- 14. 在Swift中使用AWSTask对象的正确方法是什么?
- 15. 在C++中存储对象类型的好方法是什么?
- 16. 什么是将文本框绑定到对象的正确方法
- 17. 将索引项目追加到对象的正确ES6方法是什么?
- 18. 什么是Class对象(java.lang.Class)?
- 19. 为什么对象上的方法是正确的?
- 20. 在下面的方法中释放对象的正确方法是什么?
- 21. 什么是描述多维对象的正确方法?
- 22. 声明类对象的正确方法是什么?
- 23. PHP面向对象 - 什么是正确的方法?
- 24. 休眠什么是加载对象图的正确方法
- 25. 什么是正确的方法来把对象提升:: property_tree?
- 26. 动态创建对象的正确Java方法是什么?
- 27. 将UIViews存储到NSMutableArray中
- 28. 如何将对象添加到NSMutableArray中以存储在NSUserDefaults中?
- 29. 什么是在RavenDb中存储评论的正确方式
- 30. reactjs中的正确方法是什么?
嗯它看起来非常规律和推荐的方式。但它看起来效率很低。你知道它的性能考虑吗? – Eonil 2011-03-28 06:45:32