我對swift和解開概念非常陌生。我正在嘗試將一個字符串數組存儲到NSUserDefaults中。打印結果到控制檯後,陣列顯示爲從NSUserDefaults列表解開字符串
[Optional("VarOne"), Optional("VarTwo")] //the two test variables stored in the array
的目標是要實現:
["VarOne", "VarTwo"]
我已經做了很多測試,以獲得類似的解決方案。我的代碼如下:
let defaults = NSUserDefaults.standardUserDefaults()
if let array = defaults.arrayForKey("listOfPlayers"){
for i in array{
print(i)
}
}
我的主要問題是如何解包變量在這種情況下。爲了澄清,這些是字符串變量。
編輯:我包括我的代碼,我該陣列添加到NSUserDefaults的
let userDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.setObject(listOfPlayers, forKey: "listOfPlayers")
userDefaults.synchronize()
沒有什麼錯與你有什麼,你要打印只是給你更多的信息比你想象的說明 – Wain
所以,問題是,當我嘗試直觀地顯示這一點時,它也顯示爲可選。這顯然是應用程序清晰度的一個主要問題。 –
您可能已使用字符串插值保存了數組中的字符串,該字符串插值添加了「可選」字面值。考慮儘可能使用非可選字符串。 – vadian