2017-01-21 30 views
0

所以我試圖存儲一些帖子ID的基本上是這樣我可以知道用戶已閱讀,所以我可以顯示一個「看到」按鈕。與UserDefaults的快速存儲陣列

var actual_data = UserDefaults.standard.array(forKey: "seen_posts") 
UserDefaults.standard.setValue(actual_data?.insert(321, at: 0), forKey: "seen_posts") 

我已經試過了,但它似乎沒有工作,Ambiguous use of 'insert(_:at:)'

更新

var actual_data = UserDefaults.standard.array(forKey: "seen_posts") 
UserDefaults.standard.set(actual_data?.append(["miodrag"]), forKey: "seen_posts") 
+0

舉動'actual_data? .insert(321,at:0)'到它上面的行並設置actual_data forKey –

+0

順便給一個數組命名一個數組actual_data是有誤導性的 –

+0

什麼是更好的名字? – Uffo

回答

0

錯誤的原因是,編譯器不能推斷出數組的類型。

花費額外的線來讀取,修改和寫入數據,例如:

let defaults = UserDefaults.standard 
var seenPosts : [Int] 
if let actual = defaults.array(forKey: "seen_posts") as? [Int] { 
    seenPosts = actual 
} else { 
    seenPosts = [Int]() 
} 
seenPosts.insert(321, at: 0) 
defaults.set(seenPosts, forKey: "seen_posts") 

,或者默認密鑰seen_posts註冊 - 推薦 - 簡單

let defaults = UserDefaults.standard 
var seenPosts = defaults.array(forKey: "seen_posts") as! [Int] 
seenPosts.insert(321, at: 0) 
defaults.set(seenPosts, forKey: "seen_posts") 
+0

let array = defaults.object (forKey:「seen_posts」)爲? [字符串] ?? [String]() debugPrint(array)所以我添加了這個來測試它,並且我得到一個空數組 – Uffo

+0

根據你的(第一個)代碼,數組是'[Int]'。 – vadian

+0

作品!謝謝 – Uffo