gpt4 book ai didi

iOS:rootController 中的方法不会被调用

转载 作者:行者123 更新时间:2023-11-29 04:26:07 24 4
gpt4 key购买 nike

我想将字符串传递给作为 rootController.view 的 subview 添加的 label.text:

@implementation MainViewController //the rootController

@synthesize leftLabel;

- (void)viewDidLoad {
[super viewDidLoad];

leftLabel = [[UILabel alloc] initWithFrame:CGRectMake(100.0, 558.0, 250.0, 30.0)];
leftLabel.font = [UIFont systemFontOfSize:20.0];
leftLabel.textAlignment = UITextAlignmentCenter;
leftLabel.textColor = [UIColor whiteColor];
leftLabel.backgroundColor = [UIColor clearColor];
leftLabel.text = @"Some text";
[self.view addSubview:leftLabel];
}

- (void)updateLabel:(NSString *)aText {
leftLabel.text = aText;
}

消息在另一个 ViewController 中发送...

NSArray *viewControllers = [self.navigationController viewControllers];
MainViewController *textTarget = (MainViewController *)[viewControllers objectAtIndex:0];
[textTarget updateLabel:@"Hello"];

但它永远不会到达 rootController 并且该方法不会被调用。另一个 ViewController 发送所有到达的其他消息。但这不是为 rootController 设计的。知道为什么它不起作用吗?

最佳答案

如果您的 VC 在发送消息时未推送到导航 Controller ,则 self.navigationController 返回 nil,然后所有其他方法都返回 nil,从而使所有调用无效。

关于iOS:rootController 中的方法不会被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12330813/

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