Mat*_*dey -3 cocoa-touch objective-c uiimageview uiimage ios
我正在使用if语句UIImageView
根据变量的值设置图像.这是声明:
- (void)configureView
{
if (self.detailItem) {
if ([detailItem isEqualToNumber:[NSNumber numberWithInt:0]]) {
[mapImageView setImage:[UIImage imageNamed:@"0.jpg"]];
NSLog(@"derp");
}
}
}
Run Code Online (Sandbox Code Playgroud)
"derp"被打印但是UIImageView
图像不会改变......如果我把setImage:
声明放进去就行了viewDidLoad
.我做错了什么?
我的猜测是你configureView
从视图控制器的init方法调用方法.
此时视图控制器的视图尚未加载,其子视图的出口仍将是nil
.
从以下任何一个调用它:
awakeFromNib
viewDidLoad
viewWillAppear:
viewDidAppear:
Run Code Online (Sandbox Code Playgroud)
将工作.
尝试分配
UIImage * image = [UIImage imageNamed:@"0.jpg"]
Run Code Online (Sandbox Code Playgroud)
在那里放一个断点,然后查看值image
,使其正确分配.