码迷,mamicode.com
首页 > 编程语言 > 详细

关于数据保存的方式(沙盒,解档归档(swift方法))

时间:2015-10-21 01:42:22      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

///  保存用户信息(保存在沙盒中)
- (void)saveUserInfo {

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    // iOS 8.0 会直接写入沙盒,无需再使用 `[defaults synchronize];`
    [defaults setObject:self.username forKey:SKUsernameKey];
    [defaults setObject:self.pwd forKey:SKUserPasswordKey];
}

///  加载用户下信息
- (void)loadUserInfo {
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    self.usernameText.text = [defaults stringForKey:SKUsernameKey];
    self.pwdText.text = [defaults stringForKey:SKUserPasswordKey];
}


关于存档归档的方法

//1.归档路径,必须用静态变量 1.保存用户账户时参数必须要用静态变量2.静态变量只需要加载一次,等在调用的时候不需要在加载了

    static private let accountPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true).last!.stringByAppendingString("account.plist")

//2.保存用户账户,

    func saveAccount() {

        NSKeyedArchiver.archiveRootObject(self, toFile: UserAccount.accountPath)

  }

 // 解档 - 如果没有保存过,解档结果可能仍然是 nil

            userAccount = NSKeyedUnarchiver.unarchiveObjectWithFile(accountPath) as? UserAccount

     //MARK:  归档(这里面是我自己的定义的属性)

    func encodeWithCoder(aCoder: NSCoder) {

        aCoder.encodeObject(access_token, forKey: "access_token")

        aCoder.encodeDouble(expires_in, forKey: "expires_in")

        aCoder.encodeObject(expiresDate, forKey: "expiresDate")

        aCoder.encodeObject(uid, forKey: "uid")

        aCoder.encodeObject(name, forKey: "name")

        aCoder.encodeObject(avatar_large, forKey: "avatar_large")

    }

    //解档

    required init?(coder aDecoder: NSCoder) {

        access_token = aDecoder.decodeObjectForKey("access_token") as? String

        expires_in = aDecoder.decodeDoubleForKey("expires_in")

        expiresDate = aDecoder.decodeObjectForKey("expiresDate") as? NSDate

        uid = aDecoder.decodeObjectForKey("uid") as? String

       name = aDecoder.decodeObjectForKey("name") as? String

        avatar_large = aDecode

    }


关于数据保存的方式(沙盒,解档归档(swift方法))

标签:

原文地址:http://www.cnblogs.com/jiangshengkai/p/4896553.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!