目前,我的iPhone应用程序使用NSMutableArrays来保存NSStrings。我有更多信息想与每个数组中的每个条目相关联。例如,以前我只有一件事要放入字符串Array1 [0]。但是,现在,我想将字符串与另一个字符串和一个整数相关联。我猜是这样的:
旧:[字串]
新的[字符串,字符串,整数]
我当时正在考虑使用字典,但我不确定这是否正确。有什么建议吗?
最佳答案
NSArray
中的元素可以是字典,C structs
或Objective-C对象。
字典可以使用,但是如果您要存储原始数据类型值(需要装箱,例如NSNumber
),或者有可能将数据扩展到更深的层次(字典中包含另一个字典的字典),那么字典可能会很麻烦。同样,字典对象也不是隐式键入的。
C struct
可以工作,但也需要装箱,并且就内存管理而言,您无法从Cocoa集合语义中受益,您必须自己做。另外,对于copy/retain
成员,不暗含对struct
语义的支持。
我通常为要存储在诸如NSArray
之类的集合中的聚合数据类型声明一个Objective-C类。就您而言,类似
@interface MyData : NSObject
@property (nonatomic, copy) NSString *firstString;
@property (nonatomic, copy) NSString *secondString;
@property (assign) NSInteger integer;
@end
关于ios - 我应该使用什么收集类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5629294/