我目前使用下面的代码来尝试在3个视图控制器之间传递文本在UITextField中查看相同的ViewController.h和ViewController.m文件:Xcode:故事板选项卡式应用程序传回数据
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"NameOfSegue"]) {
ViewController *ibcVC = segue destinationViewController;
ibcVC.myTextField = self.myTextField;
}
}
我有3个视图控制器按以下顺序链接:ViewC1 => ViewC2 => ViewC3。
我的UITextField在ViewC2上。
当我点击按钮上ViewC2例如,在ViewC3推时,它把数据蛮好ViewC3。但是,假设我目前在ViewC2,我在UITextView中输入了一些内容,然后点击Xcode在使用选项卡式视图应用程序时自动放置的导航上的后退按钮,它将带我到ViewC1只是如预期那样好。但是,如果我按ViewC1上的按钮,推入ViewC2,我的UITextField中键入的数据/文本已被擦除或重置为空。
所以基本上在这里是用轻微的数字视觉问题:
数据正确PUSHED EX。
ViewC1 => ViewC2 => ViewC3
数据被擦除;如果我们按下后退按钮ON NAVIGATION EX。
ViewC1 < = ViewC2
你用什么方法回到viewc1? dismissmodalviewcontroller? – Pochi 2012-03-12 03:04:40
你不必使用一个。当您使用选项卡式应用程序和链接视图控制器与Push Segue时,Xcode会自动在导航中创建一个后退按钮。我正在使用Storyboard作为那个部分,所以一切都在IB中完成,并且在处理推送等时不需要编程。但是,如果我知道Xcode在处理这部分内容时可能会弄清楚。 – John 2012-03-12 03:07:55