【发布时间】:2017-01-24 06:52:36
【问题描述】:
我正在开发一个应用程序,用户可以在其中创建一个包含许多项目的列表。我的 CoreData 模型如下。
下面的代码获取list.contains 关系并将其存储为itemsOnList Set,然后使用 Set 中的每个 Item 填充 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!
}
}
}
}
我希望用户能够更改商品的名称或数量。
我这样做的第一种方法是因为我已经有了项目的 NSSet,我只需更改我想要的项目,然后将旧的 list.contains 与新的一起保存。
这是一种明智的做法,还是有更简单的方法?
谢谢
【问题讨论】:
标签: ios swift uitableview core-data