objective-c – 传递数据集

objective-c – 传递数据集,第1张

概述最后一次思考我的一个问题.我主要是一个.net开发人员,他涉猎到面向iPhone和Mac的Objective-C. 你如何在objective-c中的方法之间发送“数据集”.例如,在C#中,您可以使用数据填充自定义类,并在类型自定义类的List中传递它. EG如果您有客户类,您可以执行以下 *** 作: List<Customer> customers = DataLayer.GetAllCustomer 最后一次思考我的一个问题.我主要是一个.net开发人员,他涉猎到面向iPhone和Mac的Objective-C.

你如何在objective-c中的方法之间发送“数据集”.例如,在C#中,您可以使用数据填充自定义类,并在类型自定义类的List中传递它. EG如果您有客户类,您可以执行以下 *** 作:

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

我可以看到如何在obj-c中完成这一 *** 作的唯一方法是使用自定义对象填充NSArray?这是一种有效的做事方式吗?还有其他建议吗?我使用sqlite作为我想要返回的数据库/数据.

解决方法 你走在正确的轨道上.

Cocoa的集合类 – 它们都具有可变的不可变变量 – 是:

> NSArray:有序,可以多次包含一个对象
> NSDictionary:无序,从键映射到值,键被复制
> NSSet:无序,只能包含一次对象
> NSCountedSet:无序,可以多次包含一个对象

不可变的变体对效率有很大帮助.具有可变变体的类的访问器的标准模式是复制而不是保留.这是通过在属性上使用copy属性在@property机制中编写的:

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

这意味着如果您将一个可变数组传递给一个接受数组的东西,它将被复制,如果您将其传递给其他东西,它将被再次复制.诀窍是虽然“复制”一个不可变对象实际上只是保留它,所以你只需要点击第一个副本.你可能想要第一次创建一个副本,这样你就不会将一个可变数组传递给其他东西,然后在你传递给它的任何东西背后改变它.

对于Mac OS X上的Cocoa,我也强烈建议您查看Core Data.它可以替代您可能习惯于.NET / ADO /等的“数据集”模式.使用Core Data,您不会“获得所有客户”,然后传递该集合.相反,您会查询您关注的客户,并且当您遍历您查询过的对象的关系时,其他对象将自动为您拉入.

核心数据还可以为您提供诸如实体的可视化建模,自动生成属性获取器等功能. setter,从一个模式版本到另一个模式的迁移的细粒度控制,等等.

总结

以上是内存溢出为你收集整理的objective-c – 传递数据集全部内容,希望文章能够帮你解决objective-c – 传递数据集所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1025654.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存