** 获取document 路径
let pathArray = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true);
let path = pathArray[0];
print("path: \(path)");
** plist 存储
//写
也可以写 setValue(xxxxx,xxx);
let dict = NSMutableDictionary();
dict.setObject("testname", forKey: "name");
dict.setObject("testpass", forKey: "pwd");
dict.writeToFile("\(path)/ss.plist", atomically: true);
//读
let readDict = NSDictionary.init(contentsOfFile: "\(path)/ss.plist");
//let ff = readDict?.objectForKey("pwd");
let ff = readDict?.valueForKeyPath("pwd") as! String;
print("read result: \(ff)");
** Preference NSUserDefaults 存储, 主要用于存储个人信息,比如用户名,密码什么的
let userInfo = NSUserDefaults.standardUserDefaults();
userInfo.setObject("123456", forKey: "pwd");
userInfo.setBool(true, forKey: "logined");
userInfo.synchronize();
let getUser = NSUserDefaults.standardUserDefaults();
let v = getUser.objectForKey("pwd") as! String;
lb.text = v;
print("\(v)");
新版本swift ( 例子, 判断值是不分今天的日期,如果不是 就更新为 今天的日期 )
let nowDate = NSDate() let formatter = DateFormatter() formatter.dateFormat = "yyyy-MM-dd" let dateString = formatter.string(from: nowDate as Date) let getUser = UserDefaults.standard var local_upload_tongji = ""; //判断对应的key 是否存在 if(getUser.object(forKey: "upload_tongji_date") != nil){ local_upload_tongji = getUser.object(forKey: "upload_tongji_date") as! String; } if(dateString != local_upload_tongji){ print("not set local"); getUser.set(dateString, forKey: "upload_tongji_date"); //remember to save getUser.synchronize(); }else{ print(" has set local:") }