Swift 不直接从其他视图控制器推断枚举类型

Swift not inferring enum type from other view controller directly

我已经在视图控制器中声明了一些枚举值并尝试在另一个 class 中访问,但是对于某些枚举我可以直接推断但对于其他枚举我需要使用 class 名称。示例代码

class MyRootViewController: UIViewController {
    enum Animation {
        case left
        case right
        case top
        case bottom
        case none
    }
  //some code
}

class OtherViewController: UIViewController {
  enum Configurations {
        case config
        case version
        case type
    }
  //some code
}



 class Utility {
   func addConfiguration(_ config: Configurations) {
    //some code
    }

   func showAnimation(_ animation: MyRootViewController.Animation) {
   //Some code
   }
  }

在 Utitlity 的第二个函数中,如果我像 func showAnimation(_ animation: Animation) 那样声明,它会抛出错误 "Use of undeclared identifier Animation"

为什么我没有提到 class 第一种方法有效,但第二种方法却无效?

仅供参考: addConfiguration 出错。

请检查您的 source code,我确定任何 framework 都具有 Configurations classenum 在您的项目中定义。

就是这样

请检查您的第一个功能是否正常工作。

它抛出错误 "Use of undeclared identifier Animation"

所以您首先更改了源代码。 谢谢..