gpt4 book ai didi

iphone - 知道堆栈中位于我上方的 UIViewController 何时被弹出的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-03 20:39:22 24 4
gpt4 key购买 nike

我有一个UIViewController来管理一些数据的显示。当用户想要编辑此数据时,我将编辑 UIViewController 推送到堆栈上。当用户完成编辑时,顶 View Controller 将从堆栈中弹出。在编辑 View 弹出后,知道我需要更新显示的最优雅的方法是什么?

我认为我可以将内容更新代码放入数据 View 的 viewDidLoad 方法中,但是当我的 View 显示时,并不总是调用此方法,尤其是当我“m 在 View 堆栈中向下导航。

我还考虑将我的数据 View Controller 设置为 UINavigationController 的委托(delegate),并等待 – navigationController:didShowViewController:animated: 被调用,我担心的是可能还有其他 View Controller 在显示时需要得到通知,并且管理哪个 Controller 应该接收 didShowViewController 消息会变得有点令人头痛。

最佳答案

我认为 viewWillAppear 可以解决问题。

否则,您的编辑 View Controller 可能会调用指向父 Controller 的新委托(delegate)方法。在那里,您可以更新数据模型和显示。例如:

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
if ([delegate respondsToSelector:@selector(editEntryByTitle:)])
[delegate performSelector:@selector(editEntryByTitle:) withObject: textField.text];
[textField resignFirstResponder];
[self dismissModalViewControllerAnimated:YES];
return YES;
}

关于iphone - 知道堆栈中位于我上方的 UIViewController 何时被弹出的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/281390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com