gpt4 book ai didi

ios - 如何在 Swift 中向祖父 View Controller 发送消息

转载 作者:行者123 更新时间:2023-11-28 13:06:19 25 4
gpt4 key购买 nike

我明白了how to send data to a child View Controller用 segue 调用它时。我想我也明白how to send data to a parent View Controller通过使用协议(protocol)和委托(delegate)。但是如何将数据发送到祖 parent View Controller?

我考虑过的选项:

  • 将数据发送给 parent ,并让 parent 将其发送给祖 parent 。但是,当 parent 不需要知道时,这似乎需要做很多额外的工作。
  • 使用NSNotificationCenter。但是 (1) 只有祖 parent 需要知道,而不是整个世界,并且 (2) 从我发现的少量 Swift 文档来看,NSNotificationCenter 看起来很不像 Swift。

最佳答案

在这种情况下您也可以使用协议(protocol)。我是这样做的:

current Controller 中(比方说 grandchild Controller ),只需初始化你的 grandparent Controller 并设置 delegate (与在 parent Controller 的情况下在 prepareForSegues 中所做的相同)

//use this lines when you want call the grandparent controller
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let grandParentVC= storyboard.instantiateViewControllerWithIdentifier("grandPVC") as! UIViewController
grandParentVC.delegate = self
//now call your delegate method here

正如您指定的那样,您了解协议(protocol)(您包含的链接)。如果您有任何不清楚的地方,请告诉我。

希望这对你也有用!

关于ios - 如何在 Swift 中向祖父 View Controller 发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32664960/

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