私は理由を理解しようとしています:
NSLog(@"self = %p", self);
awakeFromNibではviewDidLoadの同じNSLogとは異なる値を出力しますか?
これはawakeFromNibを必要としないため、大きな問題ではありませんが、どのように機能するかを理解したいと思います。
コントローラーを作成するコードは次のとおりです。
MyViewController *myViewController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
myViewController.image = tmpImage;
[self.navigationController pushViewController:myViewController animated:YES];
[myViewController release];
アドバイスをありがとう!
回答:
回答№1は0NSLogはオブジェクトをログに記録するときに、実際に - description
オブジェクトへのメッセージ。 印刷するアドレスは、実際にはインスタンスのテキスト記述を含む返されたNSStringオブジェクトのアドレスです。メッセージが送信されるたびに新しい文字列が返されるため、異なるアドレスを取得します。
オブジェクトのアドレスが必要な場合は、次を使用する必要があります。
NSLog(@"self = %p", &self);