无法设置UIImageView图像

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.我做错了什么?

Ash*_*lls 5

我的猜测是你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,使其正确分配.