NSUserDefaults的使用(IOS - Swift)

NSUserDefaults 是IOS系统的一种轻量级的数据存储方式,用来存储用户设置信息、登陆名、密码之类的信息,所存储的数据保存在App的沙盒目录内, NSUserDefaults 可以存储基本数据类型(Int、Float、Double、Bool、 NSString、NSArray、NSDictionary、NSURL、NSNumber、NSData )和系统数据类型(UIImage、UIColor等等),下面以代码示意:

1.将数据储存到NSUserDefauls

    /*
     *
     * 操作基础数据类型
     */
    func saveDatainNSUserDefaults() {
        //获取NSUserDefaults对象
        self.defaults = NSUserDefaults.standardUserDefaults()
        
        //Int
        defaults!.setInteger(18818786876, forKey: "Type_Integer")
        
        //Float
        defaults!.setFloat(13.99, forKey: "Type_Float")
        
        //Double
        defaults!.setDouble(13.89899, forKey: "Type_Double")
        
        //Bool
        defaults!.setBool(false, forKey: "Type_Bool")
        
        //NSString
        defaults!.setObject("Swift Language", forKey: "Type_NSString")
        
        //NSURL
        defaults!.setURL(NSURL(string:"http://blog.csdn.net/luohancc")!, forKey: "NSURL")
        
        //NSNumber
        defaults!.setObject(NSNumber(int: 100), forKey: "Type_NSNumber")
        
        //NSArray
        defaults!.setObject(NSArray(array: ["Luohan", "CSDN"]), forKey: "Type_NSArray")
        
        //NSDictionary
        defaults!.setObject(NSDictionary(dictionary: ["NO.1":103]), forKey: "Type_NSDictionary")
        
        //NSData(UIColor、UIImage...)
        let bgColor = UIColor(red: 0.3, green: 0.7, blue: 0.4, alpha: 1)
        let data:NSData = NSKeyedArchiver.archivedDataWithRootObject(bgColor)
        defaults!.setObject(data, forKey: "Type_NSData")
    }


2.将数据从NSUserDefauls中读取出来,将所有数据类型转换成String显示在视图上

    /*
     *
     * 读取数据
     */
    func getData() {
        //get Int
        let typeInt          = defaults!.integerForKey("Type_Integer")
        //get Float
        let typeFloat        = defaults!.floatForKey("Type_Float")
        //get Double
        let typeDouble       = defaults!.doubleForKey("Type_Double")
        //get Bool
        let typeBool         = defaults!.boolForKey("Type_Bool")
        //get NSString
        let typeNSString     = defaults!.stringForKey("Type_NSString")
        //get NSURL
        let typeNSURL        = defaults!.URLForKey("NSURL")
        //get NSNumber
        let typeNSNumber     = defaults!.objectForKey("Type_NSNumber") as! NSNumber
        //get NSArray
        let typeNSArray      = defaults!.objectForKey("Type_NSArray") as! NSArray
        //get NSDictionary
        let typeNSDictionary = defaults!.objectForKey("Type_NSDictionary") as! NSDictionary
        //get NSData
        let typeNSData       = defaults!.objectForKey("Type_NSData") as! NSData
        //get NSColor
        let color:UIColor = NSKeyedUnarchiver.unarchiveObjectWithData(typeNSData) as! UIColor
        
        
        //其他类型如何转换为String
        label_Int.text! += String(typeInt)
        label_Float.text! += String(stringInterpolationSegment: typeFloat)
        label_Double.text! += String(stringInterpolationSegment: typeDouble)
        label_Bool.text! += String(stringInterpolationSegment: typeBool.hashValue)
        label_NSString.text! += typeNSString!
        label_NSURL.text! += String(stringInterpolationSegment: typeNSURL!)
        label_NSNumber.text! += String(stringInterpolationSegment: typeNSNumber.intValue)
        label_NSArray.text! += (typeNSArray.objectAtIndex(0) as! String)
        label_NSDictionary.text! += ((String)(typeNSDictionary.objectForKey("NO.1")! as! Int))
        label_NSData.text! += "见背景色"
        self.theView.backgroundColor = color
    }


3.效果图








  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值