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

标签 ios objective-c

我试图在我的第一个 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/

相关文章:

ios - 在 block 代码中返回 UIImage

ios - 在 NSIndexPath 上意外发现 nil 运行时错误

ios - tableView显示标题使用核心数据(关系)

objective-c - ObjCMongoDB 身份验证

ios - 手动杀死应用程序时调用哪个方法或远程推送通知到达时如何处理

iphone - iOS HTTP 通信设置

iphone - NSDate 获取今天后第 30 天的值

ios - 如何在 iOS 中使图像半透明?

ios - 单例不返回任何图像

ios - UIBarButtonItem 外观代理设置字体属性在 iOS 11 中不起作用