NSUserDefaults做数据存储也是比较常用,适合轻量级的本地数据存储,读取也很方便。

一、支持的数据类型如下图(NSString、NSArray、NSDictionary、NSData、NSInteger、float、double、BOOL、NSURL)

二、使用Demo

//
//  ViewController.m
//  NSUserDefaults
//
//  Created by City--Online on 15/4/21.
//  Copyright (c) 2015年 CYW. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
#if 0  //保存数据
    NSString *mystring=@"cuiyw";
    int myint=12;
    float myfloat=12.0;
    double mydouble=12.00;
    NSDate *mydate=[NSDate date];
    NSArray *myarray=[[NSArray alloc]initWithObjects:@"a",@"b",@"c",nil];
    NSDictionary *mydic=[[NSDictionary alloc]initWithObjects:@[@"cui",@"yanwei"] forKeys:@[@"1",@"2"]];
    BOOL mybool=YES;
    NSData *mydata=[mystring dataUsingEncoding:NSUTF8StringEncoding];
    NSURL *myUrl=[[NSURL alloc]initWithString:@"http://www.baidu.com"];
    NSUserDefaults *userDefaults=[NSUserDefaults standardUserDefaults];
    // 设置数据
    [userDefaults setObject:mystring forKey:@"mystring"];
    [userDefaults setInteger:myint forKey:@"myint"];
    [userDefaults setDouble:mydouble forKey:@"mydouble"];
    [userDefaults setFloat:myfloat forKey:@"myfloat"];
    [userDefaults setObject:mydate forKey:@"mydate"];
    [userDefaults setObject:myarray forKey:@"myarray"];
    [userDefaults setObject:mydic forKey:@"mydic"];
    [userDefaults setBool:mybool forKey:@"mybool"];
    [userDefaults setObject:mydata forKey:@"mydata"];
    [userDefaults setURL:myUrl forKey:@"myUrl"];
    //数据立即保存
    [userDefaults synchronize];
    NSLog(@"%@",NSTemporaryDirectory());
#endif
#if 1
    NSUserDefaults *userDefaults=[NSUserDefaults standardUserDefaults];
    NSString *myString=[userDefaults stringForKey:@"mystring"];
    NSInteger myint=[userDefaults integerForKey:@"myint"];
    float myfloat=[userDefaults floatForKey:@"myfloat"];
    NSDate *mydate=[userDefaults objectForKey:@"mydate"];
    NSArray *myarray=[userDefaults arrayForKey:@"myarray"];
    NSDictionary *mydic=[userDefaults dictionaryForKey:@"mydic"];
    BOOL mybool=[userDefaults boolForKey:@"mybool"];
    NSString *mydata=[[NSString alloc]initWithData:[userDefaults dataForKey:@"mydata"] encoding:NSUTF8StringEncoding] ;
    NSURL *myUrl=[userDefaults URLForKey:@"myUrl"];
    NSLog(@"myString:%@\nmyint:%ld\nmyfloat:%lf\nmydate:%@\nmyarray:%@\nmydic:%@\nmybool:%d\nmydata:%@\nmyUrl:%@",myString,myint,myfloat,mydate,myarray,mydic,mybool,mydata,myUrl);
    //可以通过removeObjectForKey移除
    //[userDefaults removeObjectForKey:@"mystring"];

#endif
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

三、运行结果

NSUserDefaults保存在Library/Preferences下

数据存储之偏好设置NSUserDefaults的更多相关文章

  1. iOS开发UI篇—ios应用数据存储方式(偏好设置)

    iOS开发UI篇—ios应用数据存储方式(偏好设置) 一.简单介绍 很多iOS应用都支持偏好设置,比如保存用户名.密码.字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能 每个应用 ...

  2. ios应用数据存储方式(偏好设置)-转

    一.简单介绍 1.很多ios应用都支持偏好设置,比如保存用户名,密码,字体大小等设置,ios提供了一套标准的解决方案来为应用加入偏好设置功能. 2.每个应用都有个NSUserDefaults实例,通过 ...

  3. IOS第13天(2,私人通讯录,plist存储,偏好设置,归档)

    ***************plist存储 // 当点点击保存的时候调用 //保存 - (IBAction)save:(id)sender { // 获取沙盒的根路径 // NSString *ho ...

  4. ios存储 plist 偏好设置 自定义对象存储

    1,plist Plist注意:不能存储自定义对象 Plist:数组和字典,  如何判断一个对象能不能使用Plist,就看下有没有writeToFile 获取应用的文件夹(应用沙盒) NSString ...

  5. 数据存储简单了解(NSUserDefaults)

    数据存储-使用NSUserDefaults 两个类介绍: NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名.密码之类的,个人觉得使用NSUserDefault ...

  6. iOS开发-本地存储(偏好设置,Plist,归档)

    1.   NSUserDefaults //TODO: 1.NSUserDefaults NSUserDefaults类除了可以存储数组.字典.NSdata外,还可以直接存储OC基本类型属性.但是不能 ...

  7. Cocoa Touch(二):数据存储CoreData, NSKeyArchiver, NSOutputStream, NSUserDefaults

    应用程序离不开数据的永久存储,有两种方式实现存储:数据库和文本文件. 作为存储管理器,最基本的功能就是增删改查了. CoreData 1.插入 AppDelegate *app = [[UIAppli ...

  8. IOS第13天(3,私人通讯录,登陆状态数据存储,数据缓存, cell的滑动删除,进入编辑模式,单个位置刷新 )

    *****联系人的界面的优化 HMContactsTableViewController.m #import "HMContactsTableViewController.h" # ...

  9. iOS开发——UI进阶篇(十一)应用沙盒,归档,解档,偏好设置,plist存储,NSData,自定义对象归档解档

    1.iOS应用数据存储的常用方式XML属性列表(plist)归档Preference(偏好设置)NSKeyedArchiver归档(NSCoding)SQLite3 Core Data 2.应用沙盒每 ...

随机推荐

  1. POJ 2007 Scrambled Polygon 凸包点排序逆时针输出

    题意:如题 用Graham,直接就能得到逆时针的凸包,找到原点输出就行了,赤果果的水题- 代码: /* * Author: illuz <iilluzen[at]gmail.com> * ...

  2. yum-本地源配置(CentOS7)

    服务器版本查看:# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 一.挂载ISO文件: 1.ISO镜像下载网站:网易镜像: ...

  3. 动态规划--求最大连续子数组的和(Python实现)&求解最大连续乘积字串(Python实现)

    def MaxSum(self,array,n): sum=array[0] result=array[0] for i in range(0,n): if sum<0: sum=a[i] el ...

  4. oracle的删除方法

    手工彻底删除oracle 第一步:停用全部oracle服务 第二步:删除oracle注册表运行regedit在如下路径中找到oracle相关键值,删除 HKEY_LOCAL_MACHINE\SOFTW ...

  5. 利用RGB-D数据进行人体检测 带dataset

    利用RGB-D数据进行人体检测 LucianoSpinello, Kai O. Arras 摘要 人体检测是机器人和智能系统中的重要问题.之前的研究工作使用摄像机和2D或3D测距器.本文中我们提出一种 ...

  6. Spring AOP 源码分析系列文章导读

    1. 简介 前一段时间,我学习了 Spring IOC 容器方面的源码,并写了数篇文章对此进行讲解.在写完 Spring IOC 容器源码分析系列文章中的最后一篇后,没敢懈怠,趁热打铁,花了3天时间阅 ...

  7. Python地理位置信息库geopy的使用(二):根据中心点坐标,方向,距离计算坐标

    上一篇文章我们介绍了geopy的基本使用,这一篇文章我们根据中心点坐标,方向,距中心点距离计算出对应的坐标点,这种用法官网并没有给出详细的文档,我们这里做一下说明 生成坐标点的具体方法 import ...

  8. Web 前端 注意知识点

    一.  前端使用技巧: 1. button的用法.在使用按钮时可以自由在内设置style属性,来改变形态.可以给予type=sbumit提交属性. 2. 各种使用符号: # <!--小于 大于 ...

  9. skynet inject address file.lua

    inject d test/inject_fuck.lua -- d 是服务的 handle 拿 simpledb.lua 举例,修改如下 local skynet = require "s ...

  10. 《deep sort》复现过程

    目录 1. 准备代码与数据 deep_sort开源代码 克隆到本地服务器 git clone https://github.com/nwojke/deep_sort.git 下载MOT16数据集(MO ...