首页 > 解决方案 > 使用变异函数重构大型 Swift 结构

问题描述

我正在尝试在 Swift 中简化一个巨大的文件,但我不确定什么是最好的方法。这可能是一个非常幼稚的问题,因为我对 Swift 还是很陌生 :)

为了简单起见,假设我有一个User结构,在其中我可以调用大量不同的setupModeAsetupModeB依此类推,根据不同的条件调用:

struct User {
  var currentMode: String

  mutating func setupModeA() {
    currentMode = "A"
  }

  mutating func setupModeB() {
    currentMode = "B"
  }

  // and so on for each mode
}

我希望能够将这些setupMode*()函数及其相关的辅助函数放入一个单独的文件中,以便于阅读,因为大多数时候我只关注一种模式。

我刚在想:

struct ModeA {
  mutating func setup() {
    // change the mode from there
  }
}

但是我不知道如何简单地将User信息传递和变异到这个新结构。

我想过:

任何指针将不胜感激。

标签: iosswiftrefactoring

解决方案


推荐阅读