0

我正在使用故事板开发应用程序,并且嵌入了导航控制器。在子视图中,当按下按钮时,它会调用父视图控制器中的函数而不更改视图。

[self.delegate buttonPressed];

以及应该在子视图中更新 textview 文本的方法。childviewcontroller.textViewName.text=@"something"; 但是 textview 没有被更新。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
[[segue destinationViewController] setDelegate:self];
}

长话短说,如果我希望父视图控制器更改子视图控制器中文本视图的文本,那么在使用情节提要时应该如何设置它。谁能给我一些想法?不知道我解释清楚了没有。我对此还是有点陌生​​,并且在制作这个应用程序时正在学习。先感谢您。

4

1 回答 1

0

这听起来令人困惑。如果您需要在父 VC 中触发一个函数,为什么不创建一个返回所需内容的类方法,然后在该子 VC 中执行类似的操作:

NSString *newText = [MyParentViewController getSomeData];
myTextView.text = newText;

或者更好的是,将该类方法放在一个新类中,为您的 VC 获取数据。这将更符合面向对象的编程。

于 2012-07-13T15:46:57.277 回答