ios - NSUserDefault 不存储值

标签 ios swift nsuserdefaults

<分区>

您好,我正在用户成功登录时保存值。

case 200:
           let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
                        prefs.setObject(email, forKey: "EMAIL")
                        prefs.setObject(result["User"]!["profile_image"], forKey: "PROFILEIMAGE")
                        prefs.setObject(result["User"]!["first_name"], forKey: "FIRSTNAME")
                        prefs.setObject(result["User"]!["last_name"], forKey: "LASTNAME")
                        prefs.setObject(result["User"]!["Country"], forKey: "COUNTRY")
                        prefs.setObject(result["User"]!["user_id"], forKey: "USERID")

                        prefs.setObject(result["User"]!["session_token"], forKey: "SESSIONTOKEN")
                        prefs.setInteger(1, forKey: "ISLOGGEDIN")

                        prefs.synchronize()


                        dispatch_async(dispatch_get_main_queue(), { () -> Void in
                            let nav : SWRevealViewController = self.storyboard!.instantiateViewControllerWithIdentifier("swrevealviewcontroller") as! SWRevealViewController
                            self.navigationController?.presentViewController(nav, animated: true, completion: { () -> Void in
                            })                            
                        })


                        break;

当我尝试获取这样的值时,我得到的是 PROFILEIMAGE 值 nil

let userDefaults : NSUserDefaults = NSUserDefaults.standardUserDefaults()
        print("userdefault is \(userDefaults.stringForKey("PROFILEIMAGE"))")

所以为了检查存储在手机中的所有键和值,我这样做了

print(NSUserDefaults.standardUserDefaults().dictionaryRepresentation())

我检查了控制台,但没有在控制台中找到 COUNTRYPROFILEIMAGE 键和值

请帮我看看我做错了什么

最佳答案

检查数据(字符串值)是否不为nil。

if let url: String = result["User"]!["profile_image"] {
    let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
    prefs.setObject(result["User"]!["profile_image"], forKey: "PROFILEIMAGE")
   prefs.synchronize()
}

并检索:

let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
if let storedURL: String = prefs.objectForKey(PROFILEIMAGE) as? String{
// Do your stuff

}

关于ios - NSUserDefault 不存储值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36277154/

相关文章:

ios - swift - 如何在一个 tabBarItem 的两个 View Controller 之间切换并自定义它?

ios - 离开 View 时如何在 Swift 中停用 AVPlayer

swift - 如何按键对一组 Swift 字典进行排序

ios - 在 swift 中使用 userdefaults 保存复选框按钮状态

ios - 如何通过 nsuserdefaults 在 swift 中存储自定义数据?

ios - 应用程序在升级到 Xcode 7 后被 UIKit 卡住

iphone - 在 subview (UIWebView) 上获取 touchesBegan

ios - 使用 Alamofire.upload 时出现段错误 : 11,

swift - 记下应用程序关闭或进入后台的时间

ios - ios相机对焦不佳