Posted at

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

More than 3 years have passed since last update.

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

もともと、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 {


}

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

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