使用 segue 传递图像的指针类型不兼容?目标c Xcode

Posted

技术标签:

【中文标题】使用 segue 传递图像的指针类型不兼容?目标c Xcode【英文标题】:Incompatible pointer type on using segue to pass image? objective c Xcode 【发布时间】:2016-12-14 15:19:20 【问题描述】:

当我尝试使用 segue 更改第二个 viewController 上的图像时,我遇到了一个问题:

将“UIimage*_Nullable”分配给“NSArray”的指针类型不兼容

我的代码是这样的:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
 if ([[segue identifier] isEqualToString:@"the_segue"])

   SecondViewController *transferViewController = [segue destinationViewController];

   transferViewController.theimageView.image=@"photo.jpg";
   

谁能帮我解答一下,谢谢!

【问题讨论】:

修复字符串与图像问题后,您可能会遇到此问题:***.com/questions/8033924/… 【参考方案1】:

您正在将 imageView 的图像属性(即 UIImage)分配给字符串。

我想你想要的是transferViewController.theimageView.image = [UIImage imageNamed:@"photo.jpg"];

【讨论】:

【参考方案2】:

在这种情况下,您正在使用字符串来表示 UIImage,编译器会向您发出警告:“分配给“UIimage*_Nullable”到“NSArray”的不兼容指针类型

只是做:-

transferViewController.theimageView.image = [UIImage imageNamed:@"ImageName"];

[transferViewController.theimageView setImage:[UIImage imageNamed:@"ImageName"]];

你也不需要提及图像的扩展名,当有两个图像具有相似的名称但具有不同的扩展名时,只需提及扩展名所需的名称即可。

【讨论】:

以上是关于使用 segue 传递图像的指针类型不兼容?目标c Xcode的主要内容,如果未能解决你的问题,请参考以下文章

得到错误而不是不兼容的指针类型警告

指向整数转换的不兼容指针将“SystemSoundID”传递给“SystemSoundID”类型的参数

* 类型的 C 参数与 * 类型的参数不兼容

如何通过 segue 将图像传递到新的视图控制器?

如何在不使用 segue 的情况下在视图控制器之间传递图像

传递参数 1 会丢弃来自指针目标类型的限定符