Objective c 在两个UIVIEW控制器之间传递变量的计时
我不知道该怎么问这个问题才有意义,但让我试试。我的应用程序打开一个UIViewController,然后调用另一个。当它打开另一个时,它会成功地在文本字段中放置一个变量。当用户关闭第二个UIViewController并返回第一个UIViewController时,我传回变量并将其放置在文本字段中。在这一点上,这一切都是成功的。变量正在来回传递,没有任何问题 下面是我要做的:在返回到第一个UIViewController时,我运行一个查询语句,该语句使用textfield中的变量作为键,从SQLite表中提取记录。我使用NSLog检查代码,我看到textfield是空的,但是当UIViewController出现时,变量在textfield中 到目前为止你和我在一起吗?我希望如此 我正在ViewDidLoad中运行查询。我认为ViewDidLoad在将变量从第二个复制到文本字段之前正在运行 我的主要问题是:我应该在ViewDidLoad中运行我的查询语句,还是在textfield中运行其他语句来获取变量。基本上,我所要做的就是在从另一个UIViewController返回时根据textfield中的值提取一条记录Objective c 在两个UIVIEW控制器之间传递变量的计时,objective-c,xcode,sqlite,uiviewcontroller,viewdidload,Objective C,Xcode,Sqlite,Uiviewcontroller,Viewdidload,我不知道该怎么问这个问题才有意义,但让我试试。我的应用程序打开一个UIViewController,然后调用另一个。当它打开另一个时,它会成功地在文本字段中放置一个变量。当用户关闭第二个UIViewController并返回第一个UIViewController时,我传回变量并将其放置在文本字段中。在这一点上,这一切都是成功的。变量正在来回传递,没有任何问题 下面是我要做的:在返回到第一个UIViewController时,我运行一个查询语句,该语句使用textfield中的变量作为键,从SQL
谢谢大家!
viewDidLoad
仅在从nib加载视图控制器时调用。如果要从另一个视图控制器切换回一个视图控制器,则不会再次执行该视图控制器。尝试将代码放入视图将出现 从技术上讲,如果原始视图从未解除分配,则不会调用您的viewDidLoad
。将调用的委托方法有viewwillbeen:
和viewdidebeen:
。
可以使用自定义委托方法将值从第二个viewController传递回第一个viewController。您应该记住的是,您应该使用委托方法传回的NSString
进行查询,并在viewwillbeen:
期间将其放在文本字段中
希望这有帮助 谢谢你们两位!我稍后会试试,然后告诉你。这也许能解决我的问题。再次感谢你们为我指明了正确的方向。真是太棒了!我最终使用了ViewDidDisplay,因为文本字段没有使用ViewWillDisplay及时更新。很高兴提供帮助。如果您发现您的问题需要回答,请选择其中一个回答作为最佳答案来结束问题。祝项目顺利!