我对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