タグ別アーカイブ: viewDidAppear

iOS 8 で viewDidAppear が呼ばれなくなった

iOS アプリの開発をしていて、不思議な現象が発生しました。

iOS 7 以前のバージョンでは viewDidAppear が呼ばれるのに、同じコードで iOS 8 だと呼ばれないのです。

かなりハマりましたが、原因はコードの記述ミスでした。

スーパークラスで以下のような記述をしてしまっていました。

- (void)viewWillAppear:(BOOL)animated
{
    [super viewDidAppear:animated] ;
    // :
    // :
    // :
}

そう、viewWillAppear の中で super の viewDidAppear を呼んでしまっていました。

iOS 7 以前ではこんなことをしてもタマタマうまく動いていたと思われます。

iOS 8 になって、内部の処理がすこし変わって顕在化したものと思われます。

こんなミスはレアケースかと思いますが、一応共有ということで記載しました。