gpt4 book ai didi

ios - 访问 segue 中的导航 Controller 'target' 的属性

转载 作者:行者123 更新时间:2023-11-29 03:12:49 24 4
gpt4 key购买 nike

我在场景和导航 Controller 之间有一个 segue。导航 Controller 嵌入了一个 View ,该 View 具有我想在 prepareForSegue 方法中初始化的文本字段。

是这样的:

场景 A -> 导航 Controller -> 场景 B

但是,在场景 A.prepareForSegue 中,只分配了 Nav controller 的属性,而场景 B 的所有属性仍然为 nil。所以如果我这样做:

UINavigationController *cont=[segue destinationViewController];
AddToDoItemViewController *atodo=(AddToDoItemViewController*)cont.topViewController;
[atodo preparetextfield2];

它不会起作用,因为待办事项中的文本字段仍设置为 nil。那么我该如何解决这个问题呢?

这里是 preparetextfield2 方法:

-(void)preparetextfield2
{
self.textField.text=@"test";
}

最佳答案

在 AddToDoItemViewController.h 文件中创建属性以保留该值,例如:

@property(nonatomic, strong) NSString *myString;

并更新 viewDidLoad 中的文本字段:

-(void)viewDidLoad{
//...Your code
self.textField.text = self.myString;
}

并且在 preparetextfield2 中更新字符串:

-(void)preparetextfield2 { 
self.myString = @"test";
}

发生这种情况是因为当您调用 prepareForSegue 时您的控件尚未在该阶段加载,因此您的文本字段为 nil。

关于ios - 访问 segue 中的导航 Controller 'target' 的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22040679/

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