gpt4 book ai didi

ios - 在 swift 2.0 中使用枚举字符串类型作为字典键

转载 作者:行者123 更新时间:2023-11-29 01:32:44 25 4
gpt4 key购买 nike

我有一个枚举

enum FilterType:String {
case UnitSoldFilter = "UnitSoldFilter"
case AmountFilter = "AmountFilter"
}

我想要一个方法来保存相应的值

    func getFilterForType(filterFor:FilterForType) -> NSData? {

if let data: NSData = NSUserDefaults.standardUserDefaults().objectForKey(filterKey) as? NSData{
return data
}
return nil
}

但是我收到错误,因为我们无法直接使用filterKey。如何解决这个问题。

最佳答案

两件事。

  1. 在 Swift 2.0 中,您无需指定 Enum 对应的 String if 它们是相同的字符串。

所以

enum FilterType:String {
case UnitSoldFilter = "UnitSoldFilter"
case AmountFilter = "AmountFilter"
}

成为

enum FilterType:String {
case UnitSoldFilter
case AmountFilter
}

然后在您的方法内部,您将使用 rawValue 属性。

func getFilterForType(filterFor:FilterForType) -> NSData? {

if let data: NSData = NSUserDefaults.standardUserDefaults().objectForKey(filterKey.rawValue) as? NSData{
return data
}
return nil
}

这应该可以解决问题。

关于ios - 在 swift 2.0 中使用枚举字符串类型作为字典键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33286091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com