ios – 核心数据功能的最佳实践

ios – 核心数据功能的最佳实践,第1张

概述当您有多个视图控制器进行类似的核心数据调用时,在使用核心数据的iPhone应用程序中使用的最佳设计是什么? 目前我有一个应用程序,它有几个视图控制器,它们都执行类似的功能,如向实体添加对象,删除实体等.我想有几种方法来处理这个: >每个视图控制器都有自己的addItem:blah类.在这种情况下,这会产生一些复制意大利面 >创建一个具有核心数据方法的超类,并从该类继承.必要时覆盖 >创建一个类别, 当您有多个视图控制器进行类似的核心数据调用时,在使用核心数据的iPhone应用程序中使用的最佳设计是什么?

目前我有一个应用程序,它有几个视图控制器,它们都执行类似的功能,如向实体添加对象,删除实体等.我想有几种方法来处理这个:

>每个视图控制器都有自己的addItem:blah类.在这种情况下,这会产生一些复制意大利面
>创建一个具有核心数据方法的超类,并从该类继承.必要时覆盖
>创建一个类别,以便视图控制器的所有实例都具有这些方法,而无需子类化
>创建一个可以调用的数据管理器单例.这可能很有用,所以我可以在每个视图控制器之外排队请求和进行数据管理.下行是一般来说这是一个坏主意

解决方法 CoreData和VIEwControllers不需要彼此了解.

UIVIEwControllers不是MVC世界中的传统控制器.它们更接近于视图 – 我更喜欢用这个来创建它们(大多数Apple示例代码都有很多ModelController代码 – 可能是为了简化示例).

我喜欢创建ModelControllers并让我的VIEwController管理我的VIEws,并为VIEwControllers提供了ModelController的实例.

我的ModelController将管理我的模型,加载,编辑,删除等…我仍然将我的Model类暴露给我的VIEwControllers,但是VIEws永远不会离开VIEwController.你永远不会在ModelController中看到一个VIEw.

这样做的好处是,如果您以后创建一个iPad应用程序 – 您的模型及其行为方式完全独立于您的VIEwControllers,那么当您为iPad应用程序创建一些新的UIVIEwControllers时 – 您可以插入您的ModelControllers.

您的ModelController可能有一个具有重复CRUD方法的父类.

另外….

名为MagicalRecord https://github.com/magicalpanda/MagicalRecord的库将Active Record模式添加到NSManagedobjects.

总结

以上是内存溢出为你收集整理的ios – 核心数据功能的最佳实践全部内容,希望文章能够帮你解决ios – 核心数据功能的最佳实践所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1051837.html

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

发表评论

登录后才能评论

评论列表(0条)

保存