手动推送视图控制器冻结应用程序

时间:2014-12-25 18:42:45

标签: ios objective-c uiviewcontroller

我正在尝试在iOS 8应用中手动推送视图控制器。我在Main.storyboard中设计了它,并且我已经附加了一个特定的标识符。 我正在使用的代码是:

CustomViewController *vc =
    [self.storyboard instantiateViewControllerWithIdentifier:@"CustomViewController"];
    vc.customField1 = self.customField1;
    vc.customField2 = self.customField2;
    [self.navigationController pushViewController:vc animated:YES];

但这会导致应用冻结。它不会吐出任何日志或其他东西,所以我无法理解可能出现的问题。

你能帮助我一点吗?

提前感谢

1 个答案:

答案 0 :(得分:2)

不要这两行:

   vc.customField1 = self.customField1;
   vc.customField2 = self.customField2;

此处的问题是,您要将一个文本字段分配给 另一个文本字段(实际上,您正在制作文本字段引用参考到一个完全不同的文本字段)。而是将字段的内容(例如文本)从父视图控制器复制到已存在于新CustomViewController中的字段:

   vc.customField1.text = self.customField1.text;
   vc.customField2.text = self.customField2.text;

我在想这里发生的事情是当新的CustomViewController出现时应用程序挂起,因为它试图访问现在隐藏/推离的父视图控制器中的字段。