gpt4 book ai didi

objective-c - UIViewController 之间的通信

转载 作者:可可西里 更新时间:2023-11-01 05:31:28 25 4
gpt4 key购买 nike

我是 Objective-C 的新手,很抱歉问了一个愚蠢的问题。

我正在从我的主视图 Controller 中打开一个“选项” View Controller 。两者都内置在 Storyboard中。在呈现选项 Controller 之前和之后,我需要在我的主视图 Controller 上停止和启动一个计时器。选项 Controller 关闭后(一个按钮调用关闭)我需要将一些信息发送回我的主 Controller 或者至少让我的主 Controller 知道它需要刷新一些值。

MAIN QUESTION What's the best way of presenting a view controller and executing some presenter's methods before and after opening?

WHAT I'VE TRIED I found a few ways to do it, but they are all cumbersome and I assume that there must be some plausible way of doing it.

  1. 理想情况下,我想使用我在两个 Controller 之间的 Storyboard中设置的 segue。
  2. 我设法通过访问 Storyboard并调用 instantiateViewControllerWithIdentifier 以编程方式调用选项 Controller 。它有效但看起来有点复杂。
  3. 我无法在 UIViewController 上找到处理关闭事件的委托(delegate)方法
  4. 当我尝试通过 presentingViewController 访问选项 Controller 中的主 Controller 并将其向下转换时,我通过两次包含 .h 文件(不确定使用 #define 的 Obj-C 标准是什么)而出现链接错误。

感谢您的帮助...

最佳答案

对于弱链接的 ViewController 之间的通信,您可以使用 NSNotificationCenter:

https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSNotificationCenter_Class/Reference/Reference.html

在这里您可以向所有监听的 ViewController 发送一条消息,它需要处理一些更改(例如更改字体大小的选项)。

它真的很容易实现,并且可以减少某些 ViewController 之间的依赖。

关于objective-c - UIViewController 之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11232185/

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