UIImage和prepareforSegue没有传递图像

use*_*911 5 uiimageview uiimage ios segue

我想在第二个视图中出现了这个图像,但我看不到任何照片,我不知道为什么.我这样做了:

FirstClassViewController.m:

 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
        if ([[segue identifier] isEqualToString:@"ShowCover"]) {
            MovieImageViewController *photo = [segue destinationViewController];       
            photo.cover.image = [UIImage imageNamed:@"helloWorld.jpg"];
            }
         }
Run Code Online (Sandbox Code Playgroud)

SecondClassViewController.m:

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self cover]; 
}
Run Code Online (Sandbox Code Playgroud)

是一个属性的UIImageView,我在创建SecondClassViewController.

Bru*_*oga 6

prepareForSegue:sender:从destinationViewController 调用插座时尚未设置.这意味着您的photo.cover财产仍然是零.

你可以做的就是UIImage在你MovieImageViewController身上创建一个属性并执行以下操作:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
        if ([[segue identifier] isEqualToString:@"ShowCover"]) {
            MovieImageViewController *photo = [segue destinationViewController];       
            photo.image = [UIImage imageNamed:@"helloWorld.jpg"];
        }
}
Run Code Online (Sandbox Code Playgroud)

并根据您的-viewDidLoad方法:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.cover.image = self.image;
}
Run Code Online (Sandbox Code Playgroud)