目前,我刚刚开始在 Swift 的核心数据中使用 NSFetchedResultsController 中的 sectionNameKeyPath /
最初,我不知道如何将不同的单元格分成各自的日期。但是现在我已经将单元格分成了各自的日期,它们的 indexPath 都搞砸了,因为当我执行 segue 以导致第二个 viewController 时,值被搞砸了。
例如
- 第二个 $42.5 -> $9.0,
- 10 美元 -> 9.0 美元,
- 72.0 美元 -> 42.5 美元,
- $0.0 -> $99.0 和 $9.0 -> $10.0
如果有人能教我如何在从 coreData 获取后正确调整 indexPath 以适应每个部分,那将真的很有帮助。
func initialFetch() {
let fetchRequest: NSFetchRequest<Item> = Item.fetchRequest()
fetchRequest.sortDescriptors = [NSSortDescriptor(key: "dates", ascending: false)] //sorting according to date
let controller = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: context, sectionNameKeyPath: "dates", cacheName: nil)
controller.delegate = self
self.controller = controller
do {
try controller.performFetch()
} catch {
fatalError("Failed to fetch entities: \(error)")
}
}
这是我获取数据的代码
PS我认为这可能与我的“didSelectRowAt”有关
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if let objs = controller.fetchedObjects, objs.count > 0 {
let item = objs[indexPath.row]
performSegue(withIdentifier: "TrackerVC", sender: item)
}
}