gpt4 book ai didi

objective-c - 尝试使用 set 和 segue 来设置属性

转载 作者:行者123 更新时间:2023-11-29 04:31:22 25 4
gpt4 key购买 nike

我正在尝试在我的 IDViewController 类中设置 bigImage、cadImage 和 number。但当我使用下面的代码时,这些永远不会设置。显然,这些属性已正确合成,并且位于我的 Storyboard的场景中。我在这里遗漏了什么吗?

ViewController.m

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"leftMainSegue"])
{
IDViewController *vc = [segue destinationViewController];

[vc.bigImage setImage:[UIImage imageNamed:@"1.png"]];
[vc.number setText:@"01"];

}
}

IDViewController.h

@interface IDViewController : UIViewController
{
UIImageView *bigImage;
UIImageView *cadImage;
UILabel *number;

}
@property (nonatomic) UIImageView *bigImage;
@property (nonatomic) UIImageView *cadImage;
@property (nonatomic) UILabel *number;

@end

最佳答案

即使 IDViewController 在调用 prepareForSegue: 时初始化,它可能还没有加载其 View ,因此也没有加载您正在尝试的 subview 更新。

您最好将图像和文本设置为 Controller 直接拥有的属性,然后将它们设置到 viewDidLoad: 中的 View 中。

类似于......(警告!编译器未检查!)

在 IDViewController.h 中:

@property (nonatomic, strong) UIImage *inputImage;
@property (nonatomic, strong) NSString *inputString;

在 IDViewController.m 中:

@synthesize inputImage = _inputImage;
@synthesize inputString = _inputString;
...
- (void)viewDidLoad {
...
self.bigImage.image = self.inputImage;
self.number.text = self.inputString;
...
}

在 ViewController.m 中:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
...
vc.inputImage = [UIImage imageNamed:@"1.png"];
vc.inputString = @"01";
...
}

关于objective-c - 尝试使用 set 和 segue 来设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11701607/

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