UIViewController A 中,我有一个容器视图嵌入式UITableViewController B 。换句话说,ViewController B 在ViewController的容器视图 A 中。 只是在视图底部包含一个导航栏和一个“下一个” UIButton。我需要将 B UITextField中的数据通过 A .m中的prepareForSegue:方法发送,包含 B中的NSMutableArray数据的UITextfield应该如何与共享一个吗?

最佳答案

不能在整个segue中发送数据,因为segue是在实例化控制器后即在用户与文本字段进行任何交互之前立即执行的。有几种方法可以做到这一点,但最简单的方法是在A中拥有一个数组,通过使用self.parentViewController访问它,使其设置为与B中的数组相等。以下代码位于B中(请确保将A.h导入B.m文件,

ControllerA *aController = self.parentViewController;
aController.arrayToGet = self.arrayToPass;

如果愿意,可以在B中创建一个指向A的属性(@property(强原子,非原子)ControllerA * pointerToA;),然后在prepareForSegue中设置其值。然后,您可以使用它代替self.parentViewController来访问A的任何属性或方法
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    ControllerB *bVC = segue.destinationViewController;
    bVC.pointerToA = self;
}

关于ios - 从容器 View 中获取数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23728618/

10-10 20:53
查看更多