gpt4 book ai didi

iphone - 关闭模态视图时尝试更新父 View Controller 上的 UILabel

转载 作者:行者123 更新时间:2023-12-03 19:28:49 25 4
gpt4 key购买 nike

有人在模态视图中进行更改后,我尝试更新父 View 中的 UILabel。因此,在单击“保存”后...新输入的值将更改父 View Controller 上显示的文本。

但是,我似乎无法让 UILabel 刷新新输入的值。

关于我可以尝试什么有什么想法吗?我已经尝试了一些方法,但是由于 View 已经加载,所以没有任何内容被“刷新”。

谢谢!

最佳答案

有很多方法可以做到这一点。一种方法是使用 NSNotificationCenter 能够在不同类之间进行调用。因此,在父 View 中,您将有一个负责更新的函数(我们称之为 updateLabel),您将执行以下操作:

- (void) updateLabel
{
yourLabel.text = @"what you need";
}

- (void)viewDidLoad
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateLabel) name:@"DoUpdateLabel" object:nil];
}

现在,在其他 View 中,只需在保存按钮中发布通知即可:

[[NSNotificationCenter defaultCenter] postNotificationName:@"DoUpdateLabel" object:nil userInfo:nil];

编辑:我必须在这里提到两件事:

  1. 在这种情况下,最好使用共享数据模式来保存数据,以便您可以在程序的任何 View 中访问这些数据。换句话说,将数据与类分开是一种很好的做法。
  2. 请记住通过添加 [[NSNotificationCenter defaultCenter] removeObserver:self]; 来还原您在主视图中使用的 NSNotificationCenter

关于iphone - 关闭模态视图时尝试更新父 View Controller 上的 UILabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8917330/

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