我正在决定在我的应用中组织数据的最佳方式。我正在尝试决定是否需要关注使用NSArray
和NSDictionary
进行数据组织的几种不同样式的内存和处理要求,以及哪些方法会更好。
考虑这个例子:
您拥有个人信息的有序列表以及与每个人相关的信息。因某些与此无关的任意原因而订购。
订购的清单是NSArray
。你有两种选择,就像我看到的那样:
NSString
s(一组键)。然后,每个信息项都有单独的NSDictionaries,例如一个用于“电子邮件地址”的字典,另一个用于“名称”等的字典,对于每个字典,您的唯一标识符是字典键。除了这两种方案之外,还有更“优雅”的解决方案吗?对于应用程序的运行时需求,它们是否会优于另一种解决方案?
我来自PHP背景,创建多维数组非常简单直观,您可以在其中执行以下简单操作:
echo "The second person's name is ".$person[2][name];
找出目标C中的最佳实践对我来说有点挑战。
答案 0 :(得分:0)
你的第二个建议(单独的词典)对我来说似乎非常不直观。另外,您最终会发现两个选项之间的内存使用量存在很大差异。一系列字典很好。
我建议的另一种选择是实际拥有一个类,例如:
@interface Person : NSObject
@property (copy) NSString *name;
@property (copy) NSString *address;
@property (copy) NSString *email;
@end
这可能比使用字典更有效,因为每个Person对象都具有这三个字段所需的存储空间。