我有一个TableView
。通过点击此表中的条目,将打开另一个视图,其中该条目是可编辑的。
处理此问题的正确方法是什么?我知道我可以通过这样的谓词从Core Data中获取条目:
func fetchEntriesStartingWith(startingDate:Date) -> [FuelEntry] {
let fetchRequest =
NSFetchRequest<NSManagedObject>(entityName: "FuelEntry")
fetchRequest.predicate = NSPredicate(format: "date >= %@", startingDate as CVarArg)
let sort = NSSortDescriptor(key: #keyPath(FuelEntry.date), ascending: false)
fetchRequest.sortDescriptors = [sort]
do {
return try (CoreDataHandler.managedContext.fetch(fetchRequest) as? [FuelEntry] ?? [FuelEntry]())
} catch let error as NSError {
print("Could not fetch. \(error), \(error.userInfo)")
return []
}
}
但是,这似乎容易出错:如果我有两个条目具有完全相同的值(可能在我的应用程序中发生),因此NSFetchRequest
返回两个条目怎么办?
很显然,这两个条目将具有不同的ID,但是我不确定如何使用它们,并推断哪个条目将与indexPath
对应。