Ich versuche, ein generisches Array in NSUserDefaults zu speichern, aber ich erhalte den folgenden Fehler: Cannot convert value of type 'Array<T>' to expected argument type 'AnyObject?'
.Speichern Sie generische Arrays in NSUserDefaults
Wie kann ich dieses Problem lösen?
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
}
}
Aber wenn ich ein 'Set' habe, wird das zum Beispiel 'Set ' nicht konform sein. –
multiholle
Versuchen Sie also, jedes 'T' zu akzeptieren und versuchen Sie den Typ von' T' in Ihrer Methode zu überprüfen –