無法獲取存儲在UserDefaults無法從UserDefaults
var videoString = String()
鑑於沒有負載的字符串值的字符串值
videoString = "http://site4brandz.com/cphp/26/uploads/oggy.mp4"
UserDefaults.standard.set(videoString as String, forKey: CurrentURL)
UserDefaults.standard.synchronize()
print("\(UserDefaults.standard.object(forKey: CurrentURL))")
這是印刷如下:
Optional(http://site4brandz.com/cphp/26/uploads/oggy.mp4)
當我回去檢查相同的字符串,如
if (UserDefaults.standard.value(forKey: CurrentURL) != nil) {
print("\(UserDefaults.standard.value(forKey: CurrentURL))")
let runningSrtring = UserDefaults.standard.value(forKey: CurrentURL)!
}
但現在它的打印爲Optional(4.067826)
我在哪裏犯了一個錯誤?
我覺得你的問題是‘CURRENTURL’,確保爲值,而設定值相同,並獲得價值 –
使用對象的關鍵和雙重檢查你的關鍵我認爲你的關鍵不匹配。您用一個密鑰存儲字符串並用另一個密鑰獲取。用例如「MySavedKey」的測試鍵進行測試,然後使用「MySavedKey」重新打印。 – ChanWarde
@ChanWarde是的,你是對的我已經改變了密鑰並修改爲UserDefaults.standard.string(forKey:CurrentURL)!和它的工作 –