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

一、简单介绍

很多iOS应用都支持偏好设置,比如保存用户名、密码、字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能

每个应用都有个NSUserDefaults实例,通过它来存取偏好设置。比如,保存用户名、字体大小、是否自动登录

存储位置:

存储形式:

二、代码示例

1.storyboard

2.代码

 1 //
 2 //  YYViewController.m
 3 //  01-偏好设置
 4 //
 5 //  Created by apple on 14-6-7.
 6 //  Copyright (c) 2014年 itcase. All rights reserved.
 7 //
 8
 9 #import "YYViewController.h"
10 //偏好设置
11 @interface YYViewController ()
12 /**
13  *保存数据
14  */
15 - (IBAction)saveData:(id)sender;
16 /**
17  *  读取数据
18  */
19 - (IBAction)readData:(id)sender;
20
21 @end
22
23 @implementation YYViewController
24
25 - (IBAction)saveData:(id)sender {
26     //1.获取NSUserDefaults对象
27     NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
28
29     //2保存数据(如果设置数据之后没有同步, 会在将来某一时间点自动将数据保存到Preferences文件夹下面)
30     [defaults setObject:@"yangyong" forKey:@"name"];
31     [defaults setInteger:23 forKey:@"age"];
32     [defaults setDouble:1.73f forKey:@"height"];
33     [defaults setObject:@"man" forKey:@"gender"];
34
35     //3.强制让数据立刻保存
36     [defaults synchronize];
37 }
38
39 - (IBAction)readData:(id)sender {
40     //1.获取NSUserDefaults对象
41     NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
42     //读取保存的数据
43     NSString *name=[defaults objectForKey:@"name"];
44     NSString *gender=[defaults objectForKey:@"gender"];
45     NSInteger age=[defaults integerForKey:@"age"];
46     double height=[defaults doubleForKey:@"height"];
47     //打印数据
48     NSLog(@"name=%@,gender=%@,age=%d,height=%.1f",name,gender,age,height);
49 }
50 @end

3.点击保存数据,读取数据按钮打印如下

三、补充说明

1.保存数据

    //1.获取NSUserDefaults对象NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];//2保存数据[defaults setObject:@"yangyong" forKey:@"name"];[defaults setInteger:23 forKey:@"age"];[defaults setDouble:1.73f forKey:@"height"];[defaults setObject:@"man" forKey:@"gender"];//3.强制让数据立刻保存[defaults synchronize];

2.读取数据

   //1.获取NSUserDefaults对象NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];//2.读取保存的数据NSString *name=[defaults objectForKey:@"name"];NSString *gender=[defaults objectForKey:@"gender"];NSInteger age=[defaults integerForKey:@"age"];double height=[defaults doubleForKey:@"height"];

3.重要说明

(1)偏好设置是专门用来保存应用程序的配置信息的, 一般情况不要在偏好设置中保存其他数据。如果利用系统的偏好设置来存储数据, 默认就是存储在Preferences文件夹下面的,偏好设置会将所有的数据都保存到同一个文件中。

(2)使用偏好设置对数据进行保存之后, 它保存到系统的时间是不确定的,会在将来某一时间点自动将数据保存到Preferences文件夹下面,如果需要即刻将数据存储,可以使用[defaults synchronize];

(3)注意点:所有的信息都写在一个文件中,对比简单的plist可以保存和读取基本的数据类型。

(4)步骤:获取NSuserDefaults,保存(读取)数据

ios应用数据存储方式(偏好设置)相关推荐

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

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

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

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

  3. 数据存储之偏好设置NSUserDefaults

    NSUserDefaults做数据存储也是比较常用,适合轻量级的本地数据存储,读取也很方便. 一.支持的数据类型如下图(NSString.NSArray.NSDictionary.NSData.NSI ...

  4. iOS开发UI篇—ios应用数据存储方式(XML属性列表-plist)

    ● 沙盒根目录:NSString *home = NSHomeDirectory(); ● Documents:(2种⽅方式) ● 利用沙盒根目录拼接"Documents"字符串 ...

  5. ios中数据存储方式

    以上三种不能存储大批量数据 plist只能先取出来 里面的数据 覆盖存储 SQLLite3 数据库 纯C语言 轻量级 CoreData  基于SQLLite3 OC版本 重量级 大批量数据缓存 SQL ...

  6. 《iOS取证实战:调查、分析与移动安全》一3.4 数据存储方式

    3.4 数据存储方式 iPhone上的数据以很多方式进行存储.下面的小节涵盖了每一个数据存储的形式以供审查者了解潜在的证据如何定位或恢复. 内部存储: SQLite 数据库文件: 属性列表: 网络: ...

  7. IOS的四种数据存储方式及优劣

    IOS有四种经常使用数据存储方式: 第一种方法:用NSUserDefaults存储配置信息 NSUserDefaults被设计用来存储设备和应用的配置信息.它通过一个工厂方法返回默认的.也是最经常使用 ...

  8. iOS--常见的几种数据存储方式

    1.iOS应用数据存储的常用方式 <div><span style="color:black;">XML</span><span styl ...

  9. iOS本地数据存储安全

    iOS本地数据存储安全 移动APP通常会在设备本地存储一些数据,这可以为程序执行.更良好地性能或离线访问提供支持.由于移动设备使用地越来越广泛,设备失窃的风险也越来越大,因此不安全的本地数据存储已成为 ...

最新文章

  1. Jsp在Web.xml中的配置
  2. zcmu- 聪明的美食家 最长不连续上升子序列(nlogn)
  3. 从头编写 asp.net core 2.0 web api 基础框架 (4) EF配置
  4. Leetcode题库 4.寻找两个正序数组的中位数(双指针法 C实现)
  5. 《犯罪心理学》读书笔记(part11)--犯罪心理的性别差异(中)
  6. 如何领导团队做好技术债管理?
  7. “一百万行 Python 代码对任何人都足够了”!
  8. linux系统下CPU利用率的计算
  9. chmod 777和755
  10. php模拟微信公众账号登陆,[微信公众号]php版模拟登录,向指定用户推送消息目前...
  11. 布隆过滤器与布谷鸟过滤器(经典版)
  12. pytorch之warm-up预热学习策略
  13. html5多媒体事件写法,多媒体元素重要事件 -HTML5
  14. 什么是善辩型人格?善辩性人格的职业分析
  15. 从键盘输入一个三位整数n,分别求出n的个位数字、十位数字和百位数字
  16. [book]《岩田先生》
  17. caffe安装详细完整过程(Ubuntu16.04、Ubuntu18.04系统)
  18. linux搭建云存储,搭建nextcloud私有云存储网盘
  19. 大学计算机思维导论第一讲测验答案,第一讲导论习题.doc
  20. QQ聊天记录快速迁移

热门文章

  1. 简书模拟登陆缺陷!!!
  2. Avira AntiVir Personal 8 - FREE Antivirus/免费的杀毒软件
  3. 《口算大作战 概念版》功能规格说明
  4. 有关B2C制造业电商企业的数字化转型思考
  5. 安卓恶意锁屏APP分析
  6. 【红队攻防】Attack矩阵图
  7. Spring AOP 学习笔记
  8. 机器学习-无监督学习-聚类:聚类方法(二)--- 基于密度的聚类算法【DBSCAN文本聚类算法,密度最大值文本聚类算法】
  9. 计算机相关美文摘抄,值得摘抄的好文章,好文章摘抄大全
  10. clipboard.js实现无flash复制内容到剪贴板