我想在NSUserDefaults中存储通用数组,但出现以下错误:Cannot convert value of type 'Array<T>' to expected argument type 'AnyObject?'
。将通用数组存储在NSUserDefaults中
我该如何解决这个问题?
public class PropertyStore {
private let userDefaults = NSUserDefaults.standardUserDefaults()
public func loadSet<T>(key: String) -> Set<T>? {
guard let array = userDefaults.objectForKey(key) as? [T] else {
return nil
}
return Set<T>(array)
}
public func saveSet<T>(key: String, value: Set<T>) {
let array = Array(value)
userDefaults.setObject(array, forKey: key) // <- ERROR
}
}
但是,如果我有一个'设置'这不会是例如'设置'兼容。 –
multiholle
因此,尝试接受每个“T”并尝试检查方法中的“T”类型 –