Objective c 在ViewController之间将数据传递到UITextField
我无法将数据从一个ViewController传递到另一个ViewController。情况如下: 我有两个名为:SearchDomainController和LoginViewController的ViewController。我试图做的是将字符串值从SearchDomainController传递到LoginViewController中的UITExtfield 在LoginViewController中,我声明了Objective c 在ViewController之间将数据传递到UITextField,objective-c,Objective C,我无法将数据从一个ViewController传递到另一个ViewController。情况如下: 我有两个名为:SearchDomainController和LoginViewController的ViewController。我试图做的是将字符串值从SearchDomainController传递到LoginViewController中的UITExtfield 在LoginViewController中,我声明了iboutletuitextfield*domainField和一个属性@pr
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。这样解决可以吗?我不建议在这里使用委托。委托主要用于通知您不控制的类的内部行为。而不是简单地传递信息,这似乎是你在这里做的。