目标C:使用相同的控制器在两个视图之间使用segue变量更改标签

时间:2015-02-16 14:43:24

标签: ios objective-c

我有一个处理数据的主视图控制器。我想发送这些数据并在模态视图中显示它而不使用其他控制器。

我的控制器里有这样的东西:

NSString *myData = @"something";
[self performSegueWithIdentifier:@"MySegue" sender:myData];

我在故事板中创建了一个新视图,并在它们之间创建了“当前模态”。我在新视图中创建了一个标签,我想更改它以显示myData的内容。

但是由于此视图没有控制器,我找不到将标签链接到数据的方法。我找到的每个建议(如PrepareForSegue)都是针对双控制器配置的。

1 个答案:

答案 0 :(得分:2)

每个场景(至少每个要更新自定义控件的场景)都应该有自己的视图控制器。如果创建的场景没有指定自定义视图控制器类,它仍将实例化标准UIViewController对象。如果没有自定义视图控制器,则无法更新该目标场景上的标签。

standard answer适用于此处。为该目标场景提供自己的视图控制器类,在该目标类中定义自定义属性,让源控制器中的prepareForSegue更新目标控制器中的该自定义属性,并使目标视图控制器的viewDidLoad更新基于您设置的自定义属性的标签。