我几周来一直试图在一个视图控制器中保存一些值,然后使用NSUserDefaults方法在另一个视图控制器中访问它们。我正在使用此代码:
(保存):
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject("Coding Explorer", forKey: "userNameKey")
- 最后一行产生“预期声明”错误
(获取值):
let defaults = NSUserDefaults.standardUserDefaults()
if let name = defaults.stringForKey("userNameKey")
{
println(name)
}
- 这些行中的第一行产生“错误重新声明'默认值'”
- 第二行产生“预期声明”
- 第三行产生“一条线上的连续声明必须由a分隔;”和“在其自身初始值内使用的变量”
请帮我解决这个问题我已经尝试了不同的代码来使用NSUserDefaults,我尝试在单独和相同的视图控制器上使用代码。
答案 0 :(得分:2)
您可以尝试使用这种方式..
保存首先定义一个名为例如" firstName":
的字符串var firstName : String = "Im Swift"
第一个ViewController中的viewDidLoad中的:
if (NSUserDefaults.standardUserDefaults().stringForKey("firstName") == nil){
NSUserDefaults.standardUserDefaults().setObject(firstName, forKey: "firstName")
}
要检索价值: 在第二个ViewController的viewDidLoad中:
if (NSUserDefaults.standardUserDefaults().stringForKey("firstName") != nil){
var x = NSUserDefaults.standardUserDefaults().objectForKey("firstName") as! String
println("\(x)");
}