gpt4 book ai didi

ios - 在类中使用枚举作为参数

转载 作者:行者123 更新时间:2023-11-28 10:11:52 25 4
gpt4 key购买 nike

基本上我有一个 DataManager 单例,如下所示:

class DataManager {    
static let shared = DataManager()

private init() {}

static func set(_ object: String, forKey defaultName: String) {
let defaults: UserDefaults = UserDefaults.standard
defaults.set(object, forKey:defaultName)
defaults.synchronize()
}

static func object(forKey key: String) -> String {
let defaults: UserDefaults = UserDefaults.standard
return defaults.object(forKey: key) as! String
}
}

在设置或检索保存的对象时,我想按如下方式实现:

DataManager.set("some hash", forKey: .hash)

代替:

DataManager.set("some hash", forKey: "hash")

此外,我正在寻找的功能的技术术语是什么?

最佳答案

你可以有一个枚举,简单的 DefaultKey

enum DefaultKey: String {
case hash = "hash"
case secondKey = "secondKey"
case thirdKey = "thirdKey"
}

现在你要做的是

static func set(_ object: String, forKey keyType: DefaultKey) {
let defaults: UserDefaults = UserDefaults.standard
let key = keyType.rawValue // rawvalue for keyType .hash will actually return you "hash".
defaults.set(object, forKey: key)
defaults.synchronize()
}

现在你可以像这样调用函数了

DataManager.set("some hash", forKey: .hash)

关于ios - 在类中使用枚举作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47031978/

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