BGLogin * login = [[BGLogin alloc]init];
[nav pushViewController:login animated:YES];
login.view; //access it once to trigger didload
NSAssert(login.navigationItem==login.navigationItemAtDidload,@"They should be the same");//View didload isn't called yet here.
NSAssert(login.navigationController == nav,@"The navigation controller should be the same");
NSAssert(nav.navigationBar.topItem==login.navigationItem,@"We just push our self so our stuff should be on top");
シンプルなコードです。ただし、login.view を実行しないと、viewDidLoad は最初に呼び出されません。login.view を実行すると、login.view の値が使用されていないという警告が表示されます。
それで、私は何をすべきですか?