viewDidLoadとviewDidAppear
Loadは一回だけ、Appearは表示されるたび、と覚えてしまうと、何かとややこしくなるので注意が必要です。Master - Detail型のテンプレートでそれぞれのビューに以下のようなコードを仕掛けて実験してみました。
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"load %@",self.class);
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
NSLog(@"appear %@",self.class);
}
確かに、Masterの側は最初の一回だけloadが表示されて、あとは画面遷移して戻ってくる都度appearが呼ばれるという期待通りの動作なのですが、Detailの方は、毎回loadとappearがセットで呼ばれます。恐らくNavigationControllerの仕様で、親の側はキャッシュするけれど、子の側は毎回生成(ロード)しているのでしょう。
参考URL
この記事は役に立ちましたか?
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について