在 UIViewController
A 中,我有一个嵌入容器 View 的 UITableViewController
B。换句话说,ViewController B 位于 ViewController A 的容器 View 中。 A 只包含一个导航栏和 View 底部的“下一个”UIButton
。我需要通过A 中的prepareForSegue:
方法发送来自B 中UITextField
的数据>.m,包含 B 中 UITextfield
数据的 NSMutableArray
应该如何与 A 共享>?
最佳答案
数据无法在整个 segue 中发送,因为 segue 会在 Controller 实例化后立即执行,然后再与文本字段进行任何用户交互。有几种方法可以做到这一点,但最简单的方法是使用 self.parentViewController 访问它,在 A 中设置一个与 B 中的数组相等的数组。以下代码在B中(一定要将A.h导入到B.m文件中,
ControllerA *aController = self.parentViewController;
aController.arrayToGet = self.arrayToPass;
如果愿意,您可以在 B 中创建一个指向 A 的属性 (@property (strong,nonatomic) 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/