Невозможно привести NSDiffableDataSourceSnapshotReference к NSDiffableDataSourceSnapshot
Я получаю следующую ошибку при попытке применить ссылку на снимок. Однако из видео WWDC 19 кажется, что мы можем просто его транслировать.
Обновление: я изменил порядок, в котором я вызывал конфигурацию для полученных результатов и источника данных, чтобы решить первоначальную проблему. Однако теперь в строке dataSource.apply появляется еще одна ошибка, добавленная ниже.
var dataSource: UITableViewDiffableDataSource<Section, Bug>!
func configureFetchedResults() {
let fetchedRequest: NSFetchRequest<Bug> = Bug.fetchRequest()
self.fetchedResults = NSFetchedResultsController(fetchRequest: fetchedRequest, managedObjectContext: CoreData.managedContext , sectionNameKeyPath: nil, cacheName: nil)
self.fetchedResults.delegate = self
try! self.fetchedResults.performFetch()
}
func configureDataSource() {
self.dataSource = UITableViewDiffableDataSource <Section, Bug>(tableView: tableView) {
(tableView: UITableView, indexPath: IndexPath, bug: Bug) -> UITableViewCell? in
let cell = UITableViewCell()
cell.textLabel?.text = bug.name
return cell
}
self.dataSource.defaultRowAnimation = .fade
}
func controller(_ controller: NSFetchedResultsController<NSFetchRequestResult>, didChangeContentWith snapshot: NSDiffableDataSourceSnapshotReference) {
let snapshot = snapshot as NSDiffableDataSourceSnapshot<Section,Bug>
dataSource.apply(snapshot, animatingDifferences: true)
}
Обновленная ошибка:
Could not cast value of type '_NSCoreDataTaggedObjectID' (0x7fff87a7ff10) to 'IslandGuideV2.Bug' (0x103df4890).
2020-06-26 14:37:28.771331-0700 IslandGuideV2[16542:1328433] Could not cast value of type '_NSCoreDataTaggedObjectID' (0x7fff87a7ff10) to 'IslandGuideV2.Bug' (0x103df4890).
Printing description of snapshot:
expression produced error: error: /var/folders/3y/wr683q7d61q8my8v6838r5h80000gn/T/expr1-34d295..swift:1:65: error: use of undeclared type 'UIKit'
Swift._DebuggerSupport.stringForPrintObject(Swift.UnsafePointer<UIKit.NSDiffableDataSourceSnapshot<IslandGuideV2.BugsViewController.Section, IslandGuideV2.Bug>>(bitPattern: 0x10ca1f730)!.pointee)