我想在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」類型 –