目前我有一个应用程序,它有几个视图控制器,它们都执行类似的功能,如向实体添加对象,删除实体等.我想有几种方法来处理这个:
>每个视图控制器都有自己的addItem:blah类.在这种情况下,这会产生一些复制意大利面
>创建一个具有核心数据方法的超类,并从该类继承.必要时覆盖
>创建一个类别,以便视图控制器的所有实例都具有这些方法,而无需子类化
>创建一个可以调用的数据管理器单例.这可能很有用,所以我可以在每个视图控制器之外排队请求和进行数据管理.下行是一般来说这是一个坏主意
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 – 核心数据功能的最佳实践所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)