我目前正在尝试将一些NSArrays更改为NSMutableArrays,但是因为我是Swift和Xcode的新手,所以我真的不了解错误以及如何修复它们。
这是我的代码:
var names: NSMutableArray = []
var dates: NSMutableArray = []
var values: NSMutableArray = []
var images: NSMutableArray = []
override func viewWillAppear(animated: Bool) {
self.tableView.reloadData()
if enterButtonTapped == false {
addTransactionButton.enabled = false
} else {
addTransactionButton.enabled = true
}
var tempNames: NSArray = NSUserDefaults.standardUserDefaults().arrayForKey("names")!
var tempDates: NSArray = NSUserDefaults.standardUserDefaults().arrayForKey("dates")!
var tempValues: NSArray = NSUserDefaults.standardUserDefaults().arrayForKey("values")!
var tempImages: NSArray = NSUserDefaults.standardUserDefaults().arrayForKey("images")!
names = tempNames.mutableCopy() as NSMutableArray
dates = tempDates.mutableCopy() as NSMutableArray
values = tempValues.mutableCopy() as NSMutableArray
images = tempImages.mutableCopy() as NSMutableArray
println(names)
println(dates)
println(values)
println(images)
}
我目前收到错误:致命错误:在解包可选值时意外发现nil
此外,我知道我不应该为此目的使用NSUserDefaults,但我发现它比使用plist或Core Data等更容易......因为它是我的第一个应用程序我只是我希望保持简单。
答案 0 :(得分:28)
最好使用此语法设置变量
if let tempNames: NSArray = NSUserDefaults.standardUserDefaults().arrayForKey("names") {
names = tempNames.mutableCopy() as NSMutableArray
}
答案 1 :(得分:17)
也只是在Swift中将NSArray转换为NSMutableArray:
让名字:NSArray = [" John"," Jake"," Tom"]
var myNewName = NSMutableArray(array:name)