一个问题,已经考虑我的最后一段时间。我主要的一个。网开发人员涉足的目标-C和Mac。

你是怎么发送"数据集"方法之间在目标-c。例如在C#你可以填一个定义类的数据,并通过它的周围,在一系列类型定义类。如果你有一个客户类你只会做一样的东西:

List<Customer> customers = DataLayer.GetAllCustomers();

只有这样我可以看到如何要这样做,可以在obj-c是填充一是定制的对象?这是一个高效率的方式做事吗?任何其他建议?我使用源码数据库/数据,我希望返回。

有帮助吗?

解决方案

你在正确的轨道。

可可收集的课程—其所有可变的一个不可改变的变异体—是:

  • 是:下令,可以包含一个对象多次
  • NSDictionary:无序的,映射键价值观,钥匙的拷贝
  • NSSet:无序的,可以包含一个目只有一次
  • NSCountedSet:无序的,可以包含一个对象多次

永恒不变的变异有很大的帮助与效率。标准模式,用于访问的课程具有易变的变异体是复制而不是保留。这是编纂的 @property 机构,通过使用 copy 属性财产:

// Department.h
@interface Department : NSObject
@property (readwrite, copy) NSSet *employees;
@end

这意味着,如果你通过一个可变的阵列需要一个数组,它将被复制,并且如果你通过到别的东西,它将复制一次。诀窍是,虽然"复制"的不可改变的对象真的只是保留,所以你只需要打的第一个复制。你可能 做一个副本,第一次无论如何,所以你不要通过一个可变数组别的东西,然后改变它的背后,无论你通过它。

可可,在Mac OS X,我还强烈鼓励你去看看在核心数据。它是一种替代的"数据集"的图案你可能会用到。NET/ADO/等。核心数据,你不"得到所有客户",然后通过收集周围。而不是你的查询,为客户你的关心,并作为你穿越关系的对象,你已经查询,其他的对象会被拉在。

核心数据也得到了你特喜欢些建模的实体,自动生成财产干将&制定者、精细地控制移民从一个架构到另一个版本,等等。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top