【问题标题】:Access enum from another file within a static function in Swift从 Swift 中的静态函数中的另一个文件访问枚举
【发布时间】:2018-05-23 08:42:34
【问题描述】:

A.swift:

struct ApiRequest {
    static func getUrl() {
        // MyEnum.oneDay ---> Use of undeclared type 'MyEnum'
    }
}

B.swift:

public enum MyEnum: String {
    case oneDay = "1d"
    case sevenDays = "7d"
    case thirtyDays = "30d"
}

如何访问MyEnum.oneDay

【问题讨论】:

  • 你在 B 类中声明了MyEnum 吗?
  • 确保A.swift和B.swift属于同一个模块
  • getUrl()函数中声明let enumValue = MyEnum.oneDay有什么问题?
  • @DanielKrom:他的 MyEnum 被定义为 public,所以它可以在任何地方访问
  • 如果它在类B中声明,你需要像B.MyEnum一样访问

标签: ios swift enums


【解决方案1】:

假设你有这样的 B 类,

class B {
    public enum MyEnum: String {
        case oneDay = "1d"
        case sevenDays = "7d"
        case thirtyDays = "30d"
    }
}

你可以像这样在A类中访问它,

class A {
    struct ApiRequest {
        static func getUrl() {
            print(B.MyEnum.oneDay)
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-27
    • 1970-01-01
    • 2014-09-20
    • 1970-01-01
    • 2018-01-09
    • 2012-08-23
    • 1970-01-01
    相关资源
    最近更新 更多