问题理解核心数据基础
Issue understanding Core Data fundamentals
我正在创建一个 NSManagedObject
数组用作我的 UITableView
DataSource
,如下所示:
let entity = NSEntityDescription.entityForName("YoutubeAsset", inManagedObjectContext: self.managedContext)!
let asset = YoutubeAsset(entity: entity, insertIntoManagedObjectContext: self.managedContext)
asset.videoId = code
myDataSource.append(asset)
然后,当用户选择其中一个单元格时,我想将特定对象保存到我的核心数据实体中。
问题是当我打电话时
do {
try managedContext.save()
} catch let error as NSError {
print("Could not save \(error), \(error.userInfo)")
}
它将我 DataSource
的 所有 保存到核心数据中。
如何才能 "pull" 仅从我的 managedContext
中选择对象并将其保存到 Core Data 中? 非常感谢,Roi!
如果 managedContext
在代码示例的开头没有未保存的对象,则在末尾保存上下文将导致单个 SQL 插入。
您不能保存单个实体,只能保存上下文(保存上下文中未保存的所有实体)。
如果您想进行一些更改但不保存它们,那么您应该在不同的上下文中进行这些更改。
我正在创建一个 NSManagedObject
数组用作我的 UITableView
DataSource
,如下所示:
let entity = NSEntityDescription.entityForName("YoutubeAsset", inManagedObjectContext: self.managedContext)!
let asset = YoutubeAsset(entity: entity, insertIntoManagedObjectContext: self.managedContext)
asset.videoId = code
myDataSource.append(asset)
然后,当用户选择其中一个单元格时,我想将特定对象保存到我的核心数据实体中。
问题是当我打电话时
do {
try managedContext.save()
} catch let error as NSError {
print("Could not save \(error), \(error.userInfo)")
}
它将我 DataSource
的 所有 保存到核心数据中。
如何才能 "pull" 仅从我的 managedContext
中选择对象并将其保存到 Core Data 中? 非常感谢,Roi!
如果 managedContext
在代码示例的开头没有未保存的对象,则在末尾保存上下文将导致单个 SQL 插入。
您不能保存单个实体,只能保存上下文(保存上下文中未保存的所有实体)。
如果您想进行一些更改但不保存它们,那么您应该在不同的上下文中进行这些更改。