swift -> 本地存储 学习

** 获取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:")
        }

 

 

猜你喜欢

转载自mft.iteye.com/blog/2301489