Objective c 在ViewController之间将数据传递到UITextField

Objective c 在ViewController之间将数据传递到UITextField,objective-c,Objective C,我无法将数据从一个ViewController传递到另一个ViewController。情况如下: 我有两个名为:SearchDomainController和LoginViewController的ViewController。我试图做的是将字符串值从SearchDomainController传递到LoginViewController中的UITExtfield 在LoginViewController中,我声明了iboutletuitextfield*domainField和一个属性@pr

我无法将数据从一个ViewController传递到另一个ViewController。情况如下: 我有两个名为:SearchDomainController和LoginViewController的ViewController。我试图做的是将字符串值从SearchDomainController传递到LoginViewController中的UITExtfield

在LoginViewController中,我声明了
iboutletuitextfield*domainField
和一个属性
@property(非原子,保留)UITextField*domainField

问题是当我在SearchDomainController中创建LoginViewController的新实例并尝试
\u LoginViewController.domainField.text=@“Some text”时
LoginViewController上的UItextField中的文本从不更改。

我错过了什么?对于这类问题的最佳解决方案是什么?Thanx

我的猜测是,
\u loginViewController.domainField
当时为零,这可能是因为视图尚未加载,并且标签是在视图加载时创建的(通过nib),而不是在视图控制器对象创建时创建的

为了在传递值时不依赖于完全加载视图,我会使用一个单独的属性来传递标题,即
\u loginViewController.domainFieldText=@“Some text”。然后在
\u loginViewController
viewDidLoad
中,将
domaonFieldText
的值分配给实际标签


或者,当您从另一个视图控制器设置UILabel实例的文本时,请确保已创建UILabel实例,而不是nil。

将该字符串设置为一个视图控制器中AppDelegate的
属性,您可以从另一个视图控制器检索该字符串,并将其设置为
textField.text

我正在考虑使用委派模式来解决此问题。在SearchViewController中创建委托,并将值传递回LoginViewController。这样解决可以吗?我不建议在这里使用委托。委托主要用于通知您不控制的类的内部行为。而不是简单地传递信息,这似乎是你在这里做的。