gpt4 book ai didi

ios - 最佳实践?从 segues 传回对象引用

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

早上好。

在过去的一年里,我学习了很多教程,并且看到了几种使用 Storyboards 将引用传递回 View Hierarchy 的方法。我想知道一些最佳实践是什么,更重要的是使用以下方法的任何陷阱:

  1. 协议(protocol) - subview 实现一个协议(protocol),父 View 将自己设置为委托(delegate)并响应消息。这可用于将信息传回委托(delegate)。 Child 不需要知道它被调用的原因,它会完成它的工作,并发回它被要求的任何信息。

  2. 具有模型引用的 subview Controller 的公共(public)属性。在 segue 上,您检索对目标 View Controller 的引用。该 View Controller 具有公开公开的模型属性。您传递对模型的引用。我个人喜欢这种方法 - 看不到任何真正的陷阱。然后当 child 进行更改时,模型会直接更改。在 [self.navigationController dismissViewControllerAnimated:YES] 被调用时,或者您导航关闭/关闭 View Controller 时,您在模型中拥有所需的信息。

  3. 还有什么吗? - 其他人有好主意,我很想听听。

感谢任何人对此的投入。我知道给猫剥皮的方法总是不止一种,我只想干净快速地给猫剥皮。 (-对不起猫)

史蒂夫

最佳答案

为了完整起见,除了您列举的两个选项之外,还有几个其他选项:

  1. 使用 unwind segue(iOS 6 及更高版本),您可以通过 prepareForSegue 将数据传递到“目的地”(您要展开到的 Controller );

  2. 为您的主模型对象使用单例;

  3. 使用 Core Data(或 SQLite)进行持久存储;或者

  4. 使用通知或键值观察(尽管这对于将数据更新传达给多个对象要好得多)。

就我个人而言,当呈现 View Controller 想要通知呈现 View Controller 一些信息时,我通常会使用协议(protocol),但这些技术中的每一种都有其各自的用途。

关于ios - 最佳实践?从 segues 传回对象引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17133855/

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