gpt4 book ai didi

ios - 核心数据逻辑分布?

转载 作者:可可西里 更新时间:2023-11-01 05:42:02 26 4
gpt4 key购买 nike

我使用 Core Data 有一段时间了,但我只是问自己一个问题,我自己倾向于总是创建某种本地存储类,我从中管理 Core Data 模型,这将是一个单例类,它有对托管对象上下文的引用,我有创建新托管对象、删除对象、保存等的方法...我的托管对象子类实际上只是模型。

但我也经常与其他人的项目合作,有时其他开发人员倾向于以类方法的形式向托管对象子类添加更多逻辑,并且有一个非常简单的或有时没有核心数据“包装器”类全部。

例如,我通常会这样做:

User *me = [[MyDataStore getInstance] createUserWithName:@"Daniel"];

而其他人则有:

User *me = [User userWithName:@"Daniel"];

显然后者更好,在我看来更人性化,但最终可能会产生大量零散的代码,但另一方面,我的解决方案意味着你有一个非常大的文件,一旦它就不是很好超过一定长度。

我想知道其他人是否可以分享他们对此的观点。谢谢。

最佳答案

从 MVC 的角度来看,将逻辑代码放在 NSManagedObject 子类中是更正确的做法。就个人而言,我发现这样做更符合逻辑,即这段代码创建了一个新的 User 实例,所以我将把它放在 User 类中。

在实际层面上,我曾经讨厌将逻辑代码放在我的 NSManagedObject 子类中,因为如果我修改我的模型,它就会全部消失,但我现在使用 MoGenerator它负责所有这些,我不必担心我的自定义逻辑被覆盖。

最近我倾向于尝试利用 CoreData 的另一件事是抽象实体。它们不仅非常适合简化您的模型,而且还可以简化您的自定义逻辑,我的意思是它基本上只是围绕 CoreData 进行子类化。

只是我的意见和目前对我有用的,希望它能帮助别人,期待任何其他的贡献!

关于ios - 核心数据逻辑分布?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11534033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com