对象数组与不同的数组

时间:2016-05-05 08:18:57

标签: ios objective-c arrays

我有一个基本问题。在objective C中为我的表格视图获取数据时。有三个差异图像,标题,描述。所以我的问题是我是否应该为它们制作3个差异NSArrays,或者只是制作一个三个变量的类并创建一个对象数组以提高效率。

采取3个阵列:

NSArray *image = [NSArray withObjects : @"one.jpg",@"two.jpg",nil];
NSArray *title = [NSArray withObjects : @"one",@"two",nil];
NSArray *description = [NSArray withObjects : @"number one",@"number two",nil];

or

User *dataOne = [User new]
dataOne.image= @"one.jpg";
dataOne.title = @"one";
dataOne.description =@"Number One";

User *dataTwo = [User new]
dataTwo.image= @"one.jpg";
dataTwo.title = @"one";
dataTwo.description =@"Number One";

NSArray *data = [NSArray dataOne,dataTwo, nil];

这是更好的方法吗?请说清楚。谢谢

2 个答案:

答案 0 :(得分:5)

数据模型有很多优点。

  • 关系
  • 数据共享
  • 数据完整性
  • 简单

让我们举一个小例子,因为您已经获取了三个数据数组,现在如果您想将单个数据传递到另一个视图控制器或其他地方,那么您将需要从每个数组中选择并传递数据。在数据模型的情况下,您只需要传递一个对象。

还有一件事,假设用户可能有20到50个属性,在这种情况下,您需要为此创建相同数量的数组。这是有效的方式吗?

答案 1 :(得分:2)

第二种选择是最好的。您组织结构中的所有项目,代码更好,更清晰。如果您的信息在他们之间相互关联,那就更好了。