gpt4 book ai didi

swift - 无法使用泛型分配给此表达式的结果

转载 作者:行者123 更新时间:2023-11-28 07:08:32 24 4
gpt4 key购买 nike

我有以下通用类,我想在其中管理字符串哈希:

class NamedProfile<T> {
private var set = [String:T]()
private var profiles = [String]()
private let userDefaults = NSUserDefaults.standardUserDefaults()
private let profileName:String
var currentSet = ""
init(name:String, set:[String:T]) {
profileName = name
self.set = set
if let existingProfiles = userDefaults.objectForKey(name) as? [String] {
profiles = existingProfiles
}
for key in profiles {
if let existingProfile = userDefaults.objectForKey(profileNamed(name)) as? T {
set[key] = existingProfile // <-- error
}
}
}
private func profileNamed(name:String) -> String { return "\(profileName) \(name)" }
}

为什么编译器会在上面的赋值中出错?

最佳答案

init(name:String, set:[String:T]) {
// ...
set[key] = existingProfile // <-- error
// ...
}

set 指的是(不可变的)方法参数。使用 self.set 来引用属性。

关于swift - 无法使用泛型分配给此表达式的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29489349/

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