Невозможно привести 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)

0 ответов

Другие вопросы по тегам