我的目标是在Swift中创建一个预算编制应用程序:
这是代码的简短版本:
var adding: [NSDecimalNumber] = []
func clickAction {
let addingAmount = NSDecimalNumber(string: textInput.text)
adding.append(addingAmount) }
defaults.setObject(adding, forKey: "addingArray")
在viewDidLoad中:
if let addingIsNotNil = defaults.arrayForKey("addingArray") as [AnyObject]! {
var adding = defaults.arrayForKey("addingArray") as [AnyObject]!
}
解释:
我创建了一个NSDecimalNumber数组来收集输入:
在clickAction上,输入将附加到数组,更新的数组将分配给NSUserDefault。 (此时默认的println将正确显示整个数组。)
问题是,如果我重新加载,相同的println现在是空的!我假设默认情况下肯定会在退出时保存,但由于第一个变量而在重新加载时变为空。
var adding: [NSDecimalNumber] = []
有没有人知道解决这个问题的方法?似乎在重新加载后,一切都将指向空的添加数组(我需要存储数字)。我尝试在clickAction中创建其他变量使用if else无效。