0

Swift 3 で fetchedresultsviewcontroller を実装しようとしていますが、コントローラーのデリゲート プロパティを self に設定すると、次のエラーが発生します。

タイプ「SomeRootViewController」の値をタイプ「NSFetchedResultsControllerDelegate?」に割り当てることはできませんか?

SomeRootViewController.swift

@available(iOS 10.0, *)
@objc class SomeRootViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

    var delegate: SomeRootViewControllerDelegate?
    public var context: NSManagedObjectContext!

    private let persistentContainer = NSPersistentContainer(name: "Accessory")


    fileprivate lazy var fetchedResultsController: NSFetchedResultsController<Accessory> = {
        // Create Fetch Request
        let fetchRequest: NSFetchRequest<Accessory> = Accessory.fetchRequest() as! NSFetchRequest<Accessory>

        // Configure Fetch Request
        fetchRequest.sortDescriptors = [NSSortDescriptor(key: "AccessoryAttributes.name", ascending: true)]

        // Create Fetched Results Controller
        let fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: self.persistentContainer.viewContext, sectionNameKeyPath: nil, cacheName: nil)

        // Configure Fetched Results Controller
        fetchedResultsController.delegate = self //<<-- this is where error occurs

        return fetchedResultsController
    }()

誰かが私に問題を説明し、どのように修正できるか教えてもらえますか?

4

1 に答える 1