Ios 更新和编辑CoreData中的实体
我正在开发一个应用程序,用户可以在其中创建一个包含许多项目的列表。我的CoreData模型如下所示 下面的代码获取Ios 更新和编辑CoreData中的实体,ios,swift,uitableview,core-data,Ios,Swift,Uitableview,Core Data,我正在开发一个应用程序,用户可以在其中创建一个包含许多项目的列表。我的CoreData模型如下所示 下面的代码获取列表。包含关系,并将其存储为项目列表集,然后使用集中的每个项目填充UITableView func getItemsOnList(){ let app = UIApplication.shared.delegate as! AppDelegate let context = app.persistentContainer.viewContext //fe
列表。包含
关系,并将其存储为项目列表
集,然后使用集中的每个项目填充UITableView
func getItemsOnList(){
let app = UIApplication.shared.delegate as! AppDelegate
let context = app.persistentContainer.viewContext
//fetchRequest to get the List
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "List")
let predicate = NSPredicate(format: "title == %@", listName)
fetchRequest.returnsObjectsAsFaults = false
fetchRequest.predicate = predicate
if let fetchResults = try? context.fetch(fetchRequest){
if fetchResults.count > 0 {
for listEntity in fetchResults {
let list = listEntity as! List
print(list.title as Any)
itemsOnListSet = list.contains!
}
}
}
}
func getItemsOnList(){
将app=UIApplication.shared.delegate设为!AppDelegate
让context=app.persistentContainer.viewContext
//获取获取列表的请求
let fetchRequest=NSFetchRequest(entityName:“列表”)
let谓词=NSPredicate(格式:“title==%@”,listName)
fetchRequest.returnsObjectsAsFaults=false
fetchRequest.predicate=谓词
如果let fetchResults=try?context.fetch(fetchRequest){
如果fetchResults.count>0{
对于fetchResults中的Listenty{
let list=listEntity as!list
打印(列表.标题如有)
itemsOnListSet=list.contains!
}
}
}
}
我希望用户能够更改项目的名称或数量
我这样做的第一个方法是,因为我已经有了NSSet项目,我只需更改我想要的项目,然后用新的保存旧的list.contains
这是一个明智的方法还是有一个更简单更简单的方法
谢谢重命名
包含到项
,因此它描述了它是什么。(编辑:也将belongsTo
重命名为list
)
因此,要访问链接到列表的项目,只需list.items
,就更清楚了
现在,如果你想编辑一个项目,只要把它从集合中拿出来并编辑掉,关系就不会改变。如果要添加或删除项目,只需再次触摸列表项目