我想了解原因:
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];
感谢您的任何建议!
答案 0 :(得分:0)
因为当NSLog记录一个对象时,它实际上会将- description
消息发送给该对象。您正在打印的地址实际上是返回的NSString对象的地址,其中包含实例的文本描述。由于每次发送消息时都会返回一个新字符串,因此您将获得不同的地址。
如果您需要使用对象的地址:
NSLog(@"self = %p", &self);