gpt4 book ai didi

ios - prepareForSegue 中的分配 false

转载 作者:行者123 更新时间:2023-11-28 22:38:08 26 4
gpt4 key购买 nike

我想发送一张图片到下一个气味。但是失败了。

这是我的代码

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSLog(@"prepareForSegue start");
NSLog(@"count is %d",count);

//bigStyle1 is a NSArray,full of UIImage
//bigImage is a UIImageView outlet
if ([bigStyle1 objectAtIndex:count]==nil) {
NSLog(@"no array image");
}
viewController3.bigImage.image=[bigStyle1 objectAtIndex:count];
if (viewController3.bigImage.image==nil) {
NSLog(@"no controller image");
}

NSLog(@"secondToThird");
NSLog(@"prepareForSegue end");
}

这是Xcode的日志

2013-03-12 15:15:38.683 animation[1876:f803] prepareForSegue start
2013-03-12 15:15:50.825 animation[1876:f803] count is 0
2013-03-12 15:17:10.829 animation[1876:f803] no controller image

好像是图片赋值的问题,为什么赋值失败了?

更新viewController3 不是 nil。但是 bigImage 是 nil。我不知道为什么。我实际上将 bigImage 连接到 ImageView

最佳答案

我怀疑您打算将 viewController3 作为 segue 的目的地。在这种情况下,您应该这样设置:

viewController3 = segue.destinationViewController;

我进一步怀疑 viewController3.bigImage 是一个 UIImageView。如果是这样,你就有问题了,因为 viewController3 在系统发送 prepareForSegue:sender: 时还没有加载它的 View 层次结构,所以 viewController3.bigImage 尚未设置。它是 nil,在 nil 上设置属性不会执行任何操作(没有警告或错误消息)。

最好直接给 viewController3 一个 image 属性,并将图像存储在该属性上。然后,在 viewController3viewDidLoad 方法中,将图像从该属性复制到 self.bigImage.image

或者,您可以通过强制 viewController3prepareForSegue:sender: 中加载它的 View 来阻止它,只需询问它的 View :

[viewController3 view];  // forces it to load its view hierarchy if necessary
viewController3.bigImage.image = [bigStyle1 objectAtIndex:count];

关于ios - prepareForSegue 中的分配 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15355852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com