現在、SwiftのコアデータでNSFetchedResultsControllerからsectionNameKeyPathを使い始めたところです/
最初は、異なるセルをそれぞれの日付に分割する方法がわかりませんでした。しかし、セルをそれぞれの日付に分割したので、セグエを実行して2番目のviewControllerにつながると、値が台無しになるため、それらのindexPathはすべて台無しになります。
例えば
- 2 番目の $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)
}
}