0
我有一個名爲Stop
的類。本課實施NSCoding
。我可以將Stop
的實例保存到UserDefaults中,而不會出現任何問題。到現在爲止還挺好。我的問題是保存Array
停止。這是我嘗試:Swift:無法將數組保存到UserDefaults
private func save(stopArray array: [Stop],withKey key: String) {
let data = NSKeyedArchiver.archivedData(withRootObject: array)
self.userDefaults.set(data, forKey: key)
self.userDefaults.synchronize()
}
private func loadStopArray(key: String) -> [Stop]? {
guard let data = self.userDefaults.object(forKey: key) as? Data else {
return nil
}
return NSKeyedUnarchiver.unarchiveObject(with: data) as? [Stop]
}
現在,每次我撥打loadStopArray
我得到一個空數組。不是零,只是一個空的數組。
任何想法?謝謝!
爲了判斷髮生了什麼,我想我們需要看到您的止損的執行。 – matt
您確定在保存和檢索時使用的是相同的確切鍵嗎? –
@matt你是對的,我的NSCoder構造函數返回零...謝謝! – Yotam