我从子场景返回后尝试更新父场景上的UITextView文本,用户可以输入导航后应该出现的内容。
父级场景:
模态segue - >
子
导航返回方法后,未调用viewWillAppear或viewDidLoad,因此此UITextView控制器无法获取更新数据的源。解决这个问题最聪明的方法是什么。提前谢谢。
编辑:
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
NSLog(@"Calling viewWillAppear");
// SQLite access methods and other bla bla bla
}
从子场景回来后,viewWillAppear不会被调用 - > NSLog不会打印出来。
答案 0 :(得分:1)
您所描述的模态segue在技术上始终在屏幕上显示,因此永远不会调用viewDidLoad
和viewWillAppear
。
从模态视图控制器获取数据到主视图控制器的最佳方法是使用委托。通过委托方法的参数(在您自己的自定义协议中定义)发回数据。在执行委托方法时,执行所有SQLite调用,并调用setNeedsDisplay
,并以任何方式存储模态视图控制器传递的值。