在swift中更改枚举的映射器值

时间:2018-05-09 06:10:49

标签: swift enums

我在枚举中有一个枚举和映射器函数。映射器函数调用应用程序启动。现在我想再次调用mapper函数,并希望更改枚举的特定情况的值。

enum AuthenticationToken:Int{

case admin
case customer

static let mapper: [AuthenticationToken: String] = [
    .admin: "\(appDelegate.adminToken)",
    .customer: "\(appDelegate.customerToken)"
]
var string: String {
    return "Bearer " + AuthenticationToken.mapper[self]!
}

}

这里我从变量中获取值,如果值已更改,那么我也想更新这些值。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

试试此代码

enum AuthenticationToken:Int{

    case admin
    case customer

    static var mapper: [AuthenticationToken: String] = [
     .admin: "\(appDelegate.adminToken)",
     .customer: "\(appDelegate.customerToken)"
    ]
    var string: String {
        return "Bearer " + AuthenticationToken.mapper[self]!
    }

}

调用枚举

 AuthenticationToken.mapper = [.admin : "Ahmad",.customer: "ali"]
  print(AuthenticationToken.admin.string)

输出

  

“Bearer Ahmad”