通过IndexPath

时间:2019-03-22 17:37:01

标签: core-data swift4

我有一个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对应。

0 个答案:

没有答案