gpt4 book ai didi

ios - 当我试图从另一个 View Controller (Objective-c?

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

我试图在我的第一个 View Controller 中使用 UITextField 的 .text 在我的第二个 View Controller 中的另一个 UITextField 的 .text 中,但是我的第一个 View Controller firstTField.text 结果在我的第二个 View Controller 中是 (null)即使我在我的第一个 View Controller 中打印了 _firstTField.text,它也打印出了输入的内容。

可能是什么问题?为什么为空?有人可以指导我如何处理/解决这个问题吗?

FirstViewController.h

@property (weak, nonatomic) IBOutlet UITextField *firstTField;

SecondViewController.h

@property (weak, nonatomic) IBOutlet UITextField *secondTField;

SecondViewController.m

#import "FirstViewController.h"

- (void)viewDidLoad {
[super viewDidLoad];
FirstViewController *firstPage = [[FirstViewController alloc] init];
_secondTField.text = firstPage.firstTField.text;
}

最佳答案

我将假设 FirstViewController 继续到 SecondViewController。您的代码有两件事会阻止 secondTField 设置其文本:

1) 您正在实例化FirstViewController 实例,而不是引用您从中分离出来的实例。这个新的 FirstViewController 将不在 View 层次结构中,因此不会设置其文本字段。

2) 您需要在转场期间使用 NSString 将信息临时保存在 SecondViewController 中,同时将其加载到 View 层次结构中。

您的代码将如下所示:

FirstViewController.h

@property (weak, nonatomic) IBOutlet UITextField *firstTField;

SecondViewController.h

@property (weak, nonatomic) IBOutlet UITextField *secondTField;
@property (strong, nonatomic) NSString *secondTFieldText; // temporary to hold the text from FirstViewController

FirstViewController.m

#import "SecondViewController.h"

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
SecondViewController *secondViewController = (SecondViewController *)segue.destinationViewController;
secondViewController.secondTFieldText = self.firstTField.text;
}

SecondViewController.m

#import "FirstViewController.h"

- (void)viewDidLoad
{
[super viewDidLoad];
self.secondTField.text = self.secondTFieldText;
}

关于ios - 当我试图从另一个 View Controller (Objective-c?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33788443/

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