【发布时间】:2017-07-04 21:36:13
【问题描述】:
我从网络服务中获取数据。根据这些数据,我通过以下命令创建了托管对象:
let videoTitle = snippet["title"] as! String
let videoDescription = snippet["description"] as! String
let videoThumbnail = ((snippet["thumbnails"] as! NSDictionary)["default"] as! NSDictionary)["url"] as! String
guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else {
return
}
let managedContext = appDelegate.persistentContainer.viewContext
let entity = NSEntityDescription.entity(forEntityName: "YTVideo",
in: managedContext)!
let video = YTVideo(entity: entity, insertInto: managedContext)
video.videoID = videoID
video.videoTitle = videoTitle
video.videoDescription = videoDescription
video.videoThumbnail = videoThumbnail
video.isFavorite = false
ytVideos.append(video)
在代码中,ytVideos 是一个数组。
现在用户可以选择保存对象。如果他选择保存对象,我想使用命令将其放入持久存储中:
managedContext.save()
但是,这将保存我创建的所有对象。
如何保存特定对象?
当然,我总是可以创建另一个模型,让用户玩这个模型的对象,然后将模型YTVideo 用于核心数据,但为了简单起见,我只想在我的应用程序中使用一个模型。我该怎么做?
非常感谢。
【问题讨论】:
-
只创建那些你想保存其他对象的核心数据对象应该只是类对象。