我正在使用核心数据模型来存储数据。 我可以以编程方式添加数据,但删除特定行对我来说是个问题。
歌曲模型:
在viewDidLoad中添加新数据
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
//add a new data
let newSong = NSEntityDescription.insertNewObject(forEntityName: "Song", into: context)
newSong.setValue("turk_milleti_demokrattir", forKey: "path")
newSong.setValue("song1", forKey: "name")
do{
try context.save()
print("success")
}
catch {
print(error)
}
添加新行没问题。我想从Core Data Model中删除特定行。 例如,假设我要删除名为 song1 的歌曲。如何删除 song1 ?
如果是SQL,从数据库中删除行将是这样的:
DELETE FROM Song WHERE name='song1';
核心数据--Swift 3,我是新手。如何删除特定行?在 Swift 3 - 核心数据中,什么相当于SQL中的 DELETE - WHERE 语句?
答案 0 :(得分:1)
我希望您的项目中自动创建模型类,如果有帮助,请查看以下代码
let fetchRequest: NSFetchRequest<Song> = Song.fetchRequest()
fetchRequest.predicate=NSPredicate(format: "name = %@", "song1")
var fetchedItems = [Song]()
do{
fetchedItems=try context.fetch(fetchRequest)
}catch{
fatalError("Could not fetch")
}
for item in fetchedItems{
context.delete(item)
}
context.save()