Ios 选择后,如何使用Swift 4将tableview的多行插入核心数据?
我有两个相关的问题 第一个是-当用户单击“下一步”时,我试图将表视图中的选定项保存到核心数据中,但我希望避免重复。但是,如果项目已在核心数据中,则需要将其显示为已选择-然后,如果用户取消选择该行,则会从核心数据中删除该项目 第二个是-我的模型中有一个save函数,它将项目的名称和与该项目相关的图片的名称放在括号中,我想在tableview控制器中使用它来保存如上所述的选定项目,但是我在访问特定值时遇到了问题。我曾想过使用Ios 选择后,如何使用Swift 4将tableview的多行插入核心数据?,ios,core-data,swift4,Ios,Core Data,Swift4,我有两个相关的问题 第一个是-当用户单击“下一步”时,我试图将表视图中的选定项保存到核心数据中,但我希望避免重复。但是,如果项目已在核心数据中,则需要将其显示为已选择-然后,如果用户取消选择该行,则会从核心数据中删除该项目 第二个是-我的模型中有一个save函数,它将项目的名称和与该项目相关的图片的名称放在括号中,我想在tableview控制器中使用它来保存如上所述的选定项目,但是我在访问特定值时遇到了问题。我曾想过使用cell.itemName[indexath.row],但这似乎并不存在 以
cell.itemName[indexath.row]
,但这似乎并不存在
以下是保存功能:
func save(result_name: String, result_theme: String, result_pic: String, existing: ClothesResults?) {
let entity = NSEntityDescription.entity(forEntityName: "ClothesResults", in: managedContext)
let result = NSManagedObject(entity: entity!, insertInto: managedContext) as! ClothesResults
result.setValue(result_name, forKey: "resultName")
result.setValue(result_pic, forKey: "resultPic")
resultsDB.append(result)
update()
}
我考虑在tableviewcontroller的prepareForSegue函数中使用if语句,如(伪代码):
您至少应该添加与问题1相关的代码。我添加了,这就是伪代码。我不知道如何完成它。通常情况下,表视图中的数据来自核心数据持久性存储,我是否正确地假设这里不是这种情况,并且表视图中的数据来自其他地方?如果您想检查核心数据中是否已经存在项目,唯一标识符是什么?嗨,Joakim,谢谢您的帮助。我已经将表视图的数据硬编码到核心数据中,我需要选择进入另一个实体,该实体已设置为保存不同类别的项。我曾考虑将保存功能放入didSelectRow或其他程序中,但我不确定这是否有效,或者它是否正确。请阅读-总结是,这不是解决志愿者问题的理想方法,可能会对获得答案产生反作用。请不要将此添加到您的问题中。
if !row exists {
insert into core data somehow
}