Ios NSUserDefault不存储值
您好,当用户成功登录时,我正在保存值Ios NSUserDefault不存储值,ios,swift,nsuserdefaults,Ios,Swift,Nsuserdefaults,您好,当用户成功登录时,我正在保存值 case 200: let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults() prefs.setObject(email, forKey: "EMAIL") prefs.setObject(result["User"]!["profile_image"], forKey:
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())
我检查了控制台,在控制台中找不到国家
和档案图像
键和值
请帮助我这里做错了什么检查数据(字符串值)是否为零
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
}
在这个地方
stringForKey
使用valueForKey
或ObjectForkey
和tryposable复制的@Anbu.Karthik No luck:(你在处理什么类型的对象?@KumarKL我在其中存储图像URL你的回答是正确的,但如果我可能很迂腐,你就不必再调用自iOS 8以来的synchronize了。