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
class
或 enum
在您的项目中定义。
就是这样
请检查您的第一个功能是否正常工作。
它抛出错误 "Use of undeclared identifier Animation"
所以您首先更改了源代码。
谢谢..
我已经在视图控制器中声明了一些枚举值并尝试在另一个 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
class
或 enum
在您的项目中定义。
就是这样
请检查您的第一个功能是否正常工作。
它抛出错误 "Use of undeclared identifier Animation"
所以您首先更改了源代码。 谢谢..