我应该如何向 Core Data 添加单个项目? insertIntoManagedContext 或 insertNewObjectForEntityForName?

Posted

技术标签:

【中文标题】我应该如何向 Core Data 添加单个项目? insertIntoManagedContext 或 insertNewObjectForEntityForName?【英文标题】:How should I be adding a single item to Core Data? insertIntoManagedContext or insertNewObjectForEntityForName? 【发布时间】:2014-07-02 17:19:04 【问题描述】:

我只想将一个 Color 对象添加到我的核心数据存储中。我该怎么做才最好?

我可以:

Color *color = [NSEntityDescription insertNewObjectForEntityForName:@"Color" inManagedObjectContext:self.managedObjectContext]

或者:

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Color" inManagedObjectContext:self.managedObjectContext]
Color *color = [[Color alloc] initWithEntity:entity insertIntoManagedObjectContext:self.managedObjectContext]

我什么时候会使用其中一种? (或者,我为什么要使用 2 行解决方案而不是 1 行解决方案,其清晰度可以说是更好?)

【问题讨论】:

我更喜欢第一个,因为它更短。真的没关系。 【参考方案1】:

这两种方法是等价的。为简洁起见,首选第一个。

【讨论】:

以上是关于我应该如何向 Core Data 添加单个项目? insertIntoManagedContext 或 insertNewObjectForEntityForName?的主要内容,如果未能解决你的问题,请参考以下文章

“Swift Core Data”如何向 UISearchBar 添加 Scope Bars? [关闭]

向 Xcode 10 Core Data 生成的文件添加方法

Core Data迁移后如何保持数据有序?

如何将 Core Data 添加到已经创建的 iOS 项目中

在 Core Data 中分离单个对象模型的组件

Core Data 以编程方式向条目添加属性