Ios UIImage和prepareforSegue没有´;我无法传递图像

Ios UIImage和prepareforSegue没有´;我无法传递图像,ios,uiimageview,uiimage,segue,Ios,Uiimageview,Uiimage,Segue,我想在第二张照片上看到这张照片,但我看不到任何照片,我不知道为什么。我这样做: FirstClassViewController.m: - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([[segue identifier] isEqualToString:@"ShowCover"]) { MovieImageViewController *photo =

我想在第二张照片上看到这张照片,但我看不到任何照片,我不知道为什么。我这样做:

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"];
            }
         }
- (void)viewDidLoad
{
    [super viewDidLoad];
    [self cover]; 
}
SecondClassViewController.m:

 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
        if ([[segue identifier] isEqualToString:@"ShowCover"]) {
            MovieImageViewController *photo = [segue destinationViewController];       
            photo.cover.image = [UIImage imageNamed:@"helloWorld.jpg"];
            }
         }
- (void)viewDidLoad
{
    [super viewDidLoad];
    [self cover]; 
}
cover是我在SecondClassViewController上创建的一个属性UIImageView,我猜“cover”是您的MovieImageViewController类的一个图像视图属性?如果是这样,就不要这样做

应将其他视图控制器视图视为专用视图

相反,请在MovieImageViewController类中设置图像属性。在prepareForSegue方法中设置,然后在MovieImageViewController的ViewWillDisplay:animated方法中,将图像安装到“cover”图像视图中。问题解决了

编辑:澄清

将以下内容添加到MovieImageViewController类的头文件(.h)中:

@interface MovieImageViewController

//This property is the line to add
@property (nonatomic, strong) UIImage *coverImage;

//your other stuff goes here.

@end
然后在.m文件中:

@implementation MovieImageViewController

- (void) viewWillAppear: animated
{
  [super viewWillAppear: animated];
  //Add the following code to your viewWillAppear:animated method
  if (self.coverImage != nil)
     self.cover.image = self.coverImage;
}

@end

调用
prepareforsgue:sender:
时,尚未设置destinationViewController的出口。这意味着您的
photo.cover
属性仍然为零

您可以在
MovieImageViewController
上创建
UIImage
属性,然后执行以下操作:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
        if ([[segue identifier] isEqualToString:@"ShowCover"]) {
            MovieImageViewController *photo = [segue destinationViewController];       
            photo.image = [UIImage imageNamed:@"helloWorld.jpg"];
        }
}
-viewDidLoad
方法中:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.cover.image = self.image;
}

但是self.image不起作用,因为它不是一个属性和photo.image不应该是因为image它不是一个属性,属性是cover,它在movieimage中,这就是为什么我说“你能做的就是创建一个UIImage属性…”为什么UIImage属性不是零?只是因为它不是一个出口?或者与视图层次结构有关?它最初为零,但随后您将其设置为
prepareforsgue
photo.image=…
)。因此,在
-viewdiload
上,您将
cover.image
设置为
self.image
是的,cover是我的MovieImageVC的UIImageView属性,但我不理解您的意思。对不起。。