我正在使用if语句根据变量的值设置UIImageView
的图像。这是声明:
- (void)configureView
{
if (self.detailItem) {
if ([detailItem isEqualToNumber:[NSNumber numberWithInt:0]]) {
[mapImageView setImage:[UIImage imageNamed:@"0.jpg"]];
NSLog(@"derp");
}
}
}
“derp”被打印但UIImageView
的图像不会改变...如果我将setImage:
语句放在viewDidLoad
中,它就可以了。我做错了什么?
答案 0 :(得分:5)
我的猜测是你从视图控制器的init方法调用configureView
方法。
此时视图控制器的视图尚未加载,其子视图的出口仍为nil
。
从以下任何一个调用它:
awakeFromNib
viewDidLoad
viewWillAppear:
viewDidAppear:
会奏效。
尝试分配
UIImage * image = [UIImage imageNamed:@"0.jpg"]
在那里放置断点,然后查看image
中的值,以使其正确分配。