nsobject vs nsmanagedobject pro and cons

时间:2014-12-23 07:42:23

标签: ios iphone nsmanagedobject nsobject

我在我的项目中使用Core数据,并在fetchResultController的帮助下直接在viewControllers中使用NSManagedObject。
但是根据新的清洁代码体系结构或VIPER方法,它说在视图或演示者类中使用PONSO或NSOject而不是NSManagedObject。

在上面的场景中,任何人都可以给我NSManagedObject vs NSObject的赞成和赞成吗?

1 个答案:

答案 0 :(得分:2)

我列出了两种方法的专业人士名单:

保持NSManagedObject方法:

  1. 它更简单
  2. 速度更快(NSManagedObjects仅在需要时从内存加载其属性)
  3. 您可以使用NSFetchedResultsController:这可能是个人观点,但在我的应用程序中,我大量使用NSFetchedResultsController,因为它很容易保持Table View的界面持久性数据。
  4. VIPER方法:(将每个NSManagedObject解码为PONSO)

    1. 您可以非常轻松地切换存储后端。即如果您想从核心数据切换到.plist文件(可能不是最好的主意)。
    2. 您可以使用多个数据源:I.e。将当前登录的用户配置文件存储在Core Data中,但将其访问令牌存储在钥匙串中。其他对象可以简单地使用PONSO,它将包含来自两个来源的数据。
    3. 测试:如果你能够将PONSO传递给他们而不必创建NSManagedObjectContext,NSFetchRequest和NSManagedObjects,那么测试你的Interactors要容易得多。