0
我使用雨燕有一個包含詮釋一個集類型:如何通過NSUserDefaults保存/加載Set type?
var setA : Set<Int>
如何保存/載入這種類型的設置使用NSUserDefaults
?
我使用雨燕有一個包含詮釋一個集類型:如何通過NSUserDefaults保存/加載Set type?
var setA : Set<Int>
如何保存/載入這種類型的設置使用NSUserDefaults
?
轉換的Set
到Array
可以保存在NSUserDefaults
let arrayA = Array(setA)
NSUserDefaults.standardUserDefaults().setObject(arrayA, forKey:"mySet")
,並獲得數組轉換回Set
let arrayA = NSUserDefaults.standardUserDefaults().objectForKey("mySet") as! [Int]
let setA = Set(arrayA)
如果您註冊了鍵/值對正如Apple推薦的
let defaults = NSUserDefaults.standardUserDefaults()
let defaultValues = ["mySet" : [Int]()]
defaults.registerDefaults(defaultValues)
該值從不是nil
,可以安全地解包。
vadian,你仍然需要拋出NSUserDefaults.standardUserDefaults()。objectForKey(「mySet」)的結果 – user3441734
@ user3441734當然,謝謝! – vadian
可能是NSUserDefaults.standardUserDefaults()。objectForKey(「mySet」)as? [Int] ?? [Int]()將更好地滿足OP的需求...它不應該由於錯誤的鍵而崩潰,並且註冊默認不再是必需的。我投了你的答案,因爲我不知道registerDefaults()到現在爲止,謝謝! – user3441734