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

时间:2022-09-01 20:04:33

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

一、简单介绍

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

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

存储位置:

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

存储形式:

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

二、代码示例

1.storyboard

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

2.代码

 //
// YYViewController.m
// 01-偏好设置
//
// Created by apple on 14-6-7.
// Copyright (c) 2014年 itcase. All rights reserved.
// #import "YYViewController.h"
//偏好设置
@interface YYViewController ()
/**
*保存数据
*/
- (IBAction)saveData:(id)sender;
/**
* 读取数据
*/
- (IBAction)readData:(id)sender; @end @implementation YYViewController - (IBAction)saveData:(id)sender {
//1.获取NSUserDefaults对象
NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults]; //2保存数据(如果设置数据之后没有同步, 会在将来某一时间点自动将数据保存到Preferences文件夹下面)
[defaults setObject:@"yangyong" forKey:@"name"];
[defaults setInteger: forKey:@"age"];
[defaults setDouble:1.73f forKey:@"height"];
[defaults setObject:@"man" forKey:@"gender"]; //3.强制让数据立刻保存
[defaults synchronize];
} - (IBAction)readData:(id)sender {
//1.获取NSUserDefaults对象
NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
//读取保存的数据
NSString *name=[defaults objectForKey:@"name"];
NSString *gender=[defaults objectForKey:@"gender"];
NSInteger age=[defaults integerForKey:@"age"];
double height=[defaults doubleForKey:@"height"];
//打印数据
NSLog(@"name=%@,gender=%@,age=%d,height=%.1f",name,gender,age,height);
}
@end

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

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

三、补充说明

1.保存数据

    //1.获取NSUserDefaults对象
NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults]; //2保存数据
[defaults setObject:@"yangyong" forKey:@"name"];
[defaults setInteger: 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开发UI篇—ios应用数据存储方式(偏好设置)的更多相关文章

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

    iOS开发UI篇—ios应用数据存储方式(XML属性列表-plist) 一.ios应用常用的数据存储方式 1.plist(XML属性列表归档) 2.偏好设置 3.NSKeydeArchiver归档(存 ...

  2. iOS开发UI篇—ios应用数据存储方式(归档)

    iOS开发UI篇—ios应用数据存储方式(归档)  一.简单说明 在使用plist进行数据存储和读取,只适用于系统自带的一些常用类型才能用,且必须先获取路径相对麻烦: 偏好设置(将所有的东西都保存在同 ...

  3. iOS开发UI篇—ios应用数据存储方式(归档) :转发

    本文转发至:文顶顶http://www.cnblogs.com/wendingding/p/3775293.html iOS开发UI篇—ios应用数据存储方式(归档)  一.简单说明 在使用plist ...

  4. iOS开发UI篇—iOS开发中三种简单的动画设置

    iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView b ...

  5. iOS开发UI篇—IOS开发中Xcode的一些使用技巧

    iOS开发UI篇—IOS开发中Xcode的一些使用技巧 一.快捷键的使用 经常用到的快捷键如下: 新建 shift + cmd + n     新建项目 cmd + n             新建文 ...

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

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

  7. iOS开发UI篇—无限轮播(新闻数据展示)

    iOS开发UI篇—无限轮播(新闻数据展示) 一.实现效果        二.实现步骤 1.前期准备 (1)导入数据转模型的第三方框架MJExtension (2)向项目中添加保存有“新闻”数据的pli ...

  8. iOS开发UI篇—字典转模型

    iOS开发UI篇—字典转模型 一.能完成功能的“问题代码” 1.从plist中加载的数据 2.实现的代码 // // LFViewController.m // 03-应用管理 // // Creat ...

  9. iOS开发UI篇—使用嵌套模型完成的一个简单汽车图标展示程序

    iOS开发UI篇—使用嵌套模型完成的一个简单汽车图标展示程序 一.plist文件和项目结构图 说明:这是一个嵌套模型的示例 二.代码示例: YYcarsgroup.h文件代码: // // YYcar ...

随机推荐

  1. 利用PhantomJS进行网页截屏,完美解决截取高度的问题

    关于PhantomJS PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS ...

  2. fillStyle线性渐变

    废话小说,沾待马 <!DOCTYPE HTML> <head> <meta charset = "utf-8"> <title>ca ...

  3. NDK-gdb

    http://www.gnu.org/software/gdb/download/ http://mhandroid.wordpress.com/2011/01/23/using-eclipse-fo ...

  4. 总结分享十大iOS开发者最喜爱的库 分类: ios相关 app相关 2015-04-03 16&colon;43 320人阅读 评论&lpar;0&rpar; 收藏

    该10大iOS开发者最喜爱的库由"iOS辅导团队"成员Marcelo Fabri组织投票选举而得,参与者包括开发者团队,iOS辅导团队以及行业嘉宾.每个团队都要根据以下规则选出五个 ...

  5. &lbrack;翻译&rsqb;C&num; BAD PRACTICES&colon; Learn how to make a good code by bad example---C&num;:如何将坏的代码重新编译为好的代码

    自己的前言说明: 本文原作者:Radoslaw Sadowski,原文链接为:C# BAD PRACTICES: Learn how to make a good code by bad exampl ...

  6. SDN 第五次上机作业

    1.搭建如下拓扑并连接控制器 2.下发相关流表和组表实现负载均衡 s1: s2: s3: s4: 3.抓包分析验证负载均衡 s4-eth1: s4-eth2: s4-eth3

  7. 【Alpha 冲刺】 1&sol;12

    1. 任务明细及任务量 Alpha版本任务安排(非固化版本,视情况调整,若有遗漏,及时补充) 职务 姓名 预期负责的模块页面 模块页面/任务明细 难度系数(0~1)(根据UI/功能实现难度划分) 预计 ...

  8. Python&colon; re&period;compile&lpar;&rpar;

    compile(pattern,flags=0) 1.编译一个正则表达式模式,返回一个模式对象 2.第二个参数flags是匹配模式,可以使用按位或‘|'表示同时生效,也可以在正则表达式字符串中指定 P ...

  9. adnanh webhook 框架request values 说明

      request values 在adnanh webhook 是比较重要的,规则触发以及命令参数传递都是通过它 支持的request values 类似 http header 查询参数 play ...

  10. Class-dump 安装和使用记录(导出应用的头文件)

    class-dump算是逆向工程中一个入门级的工具,可以很方便的导出程序头文件,可以轻松的了解程序结构方便逆向.安装包下载地址:http://stevenygard.com/projects/clas ...