🤖

XCode 6.3にしたら、NSFetchedResultsControllerDelegateが動かなくなった

2021/12/29に公開

大体のケースでは動くと思うけど、ちょっとした事で動かなかったのでメモ。

もともと、NSFetchedResultsControllerDelegateViewControllerから引きはがしたくて

class FetchedResultsControllerDelegate: NSFetchedResultsControllerDelegate {}

という感じのクラスを作って、

class ViewController: UIViewController {
    private var fetchedResultsControllerDelegate: FetchedResultsControllerDelegate!

    override func viewDidLoad() {
      fetchedResultsControllerDelegate = FetchedResultsControllerDelegate(tableView)}
}

みたいにやっていた。

これが、XCode 6.3にしたら動かなくなってしまった。

基本に立ち返って、ViewControllerにNSFetchedResultsControllerDelegateを書くと動く。

なので、

class FetchedResultsControllerDelegate: NSObject, NSFetchedResultsControllerDelegate {}

としてみたら、ちゃんと動くようになった。

今まで動いていたのが奇跡だったようだ…。

Discussion