在 VC 之间传递数据:prepareForSegue 与 Singleton

Passing Data between VCs: prepareForSegue vs Singleton

假设我正在通过 segue 切换视图,我知道我想传递给新 VC 的大部分数据将在以后的 segue 中传递给多个其他 VC。我是 swift/cocoa 开发的新手,但就我而言,传递此数据的标准方法是通过 prepareForSegue 函数。不过,这似乎很重复,因为我一遍又一遍地传递相同的数据。使用某种单例 class 来存储该数据并使用当前 VC 对其进行操作不是更容易吗?不过,我很确定 Apple 对此有更好的解决方案。

这种场景用单例好还是有更好的办法?

可以从应用程序的任何位置直接访问单例。单例在您的代码中引入耦合并使您的对象难以测试。

转发数据有两种方式。

  1. 执行 segue 时传递数据
  2. 通过代码执行转换时传递数据

两者都可能很无聊,但我认为除了它们之外别无他法。