iOS-数据持久化-偏好设置
一、简单介绍
很多iOS应用都支持偏好设置,比如保存用户名、密码、字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能
每个应用都有个NSUserDefaults实例,通过它来存取偏好设置。比如,保存用户名、字体大小、是否自动登录
存储位置:
存储形式:
二、代码示例
1.storyboard
2.代码
1 //2 // YYViewController.m3 // 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,保存(读取)数据
转载于:https://www.cnblogs.com/LifeTechnologySupporter/p/5016719.html
iOS-数据持久化-偏好设置相关推荐
- 【iOS数据持久化】Plist使用
iOS数据持久化Plist使用 iOS 端数据持久化就是把数据保存在本地,常用于基本信息储存,应用配置,应用支持数据源,网络请求缓存等.主要有如下几种方式: 方式 介绍 特点 Plist文件 属性列表 ...
- 【iOS数据持久化】偏好设置(UserDefaults)
官网文档:NSUserDufaultClass Reference 关于偏好设置:AboutPreferences and Settings UserDefualts是一种便利的,通过key-valu ...
- iOS数据持久化方案
技术由来 数据持久化是iOS开发中必不可少的一项技能.因为开发中我们多会涉及到用户信息存储.文件存储.应用内容缓存中的一个或者几个场景. 数据持久化的几种方式 NSUserDefaults plist ...
- 【iOS数据持久化】数据库(SQLite.swift)和FMDB
数据持久化之SQLite数据库(SQLite.swift使用) 一. 简介 SQLite是一款轻型的嵌入式数据库,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就足够了.它的处理速 ...
- iOS之应用偏好设置
为什么80%的码农都做不了架构师?>>> 如今,即便是最简单的计算机程序也会包含一个偏好设置窗口,用户可以在其中设置应用专属的选项.在MAC OS X中,Preferences ...
- iOS 数据持久化 NSUserDefault
每一个应用都有一个 NSUserDefaults 实例,向 NSUserDefaults 类发送 standardUserDefaults 消息可以得到该实例. NSUserDefaults 实例类似 ...
- iOS数据持久化--归档
一.简介 在使用plist进行数据存储和读取,只适用于系统自带的一些常用类型才能用,且必须先获取路径相对麻烦: 偏好设置(将所有的东西都保存在同一个文件夹下面,且主要用于存储应用的设置信息 归档:因为 ...
- iOS 数据持久化 -- Core Data (2)
2019独角兽企业重金招聘Python工程师标准>>> 1.Core Data 是数据持久化存储的最佳方式 2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里, ...
- iOS - 数据持久化之 FMDB 的使用
前言 上一篇文章「iOS - 使用 SQLite 数据库实现数据持久化」,介绍了如何使用 sqlite3 操作 SQLite 数据库实现增删改查.但是在代码编写的过程中,我们发现 sqlite3 需要 ...
最新文章
- Mysql之主从复制及主主复制
- 共享内存 传一个类指针_共享内存介绍:Shared Memory
- jdk1.8新特性(五)——Stream
- miui怎么用第三方图标包_空气能热水器怎么用?控制面板的图标详解来了
- intellij工程文件名都是红色+右键没有run选项
- mybatis--MapperProxy事务
- firebird 3.0 开发者指南_11月19日召开 2020 vivo开发者大会报名正式开启
- OPENCV-6 学习笔记
- Linus通过了Linux中避免master/slave等术语的提案
- python 编程(关于twisted)
- java数组有跨类建立对象_50个性能优化的细节:Java高级开发必会,来学习下吧...
- Linux学习笔记(PATH,cp,mv,文档查看cat/more/less/head/tail)
- 测试类报错:空指针异常
- 【渝粤教育】国家开放大学2018年春季 0471-22T畜牧学 参考试题
- Kindeditor在线HTML富文本编辑器使用入门
- ccy测试影响因子版270ms
- cad相对坐标快捷键_CAD常用的快捷键
- feign.RetryableException: xxx executing POST
- 在chrome的网址上搜索总是跳转到百度首页
- 【数学】微分(Differential)的定义,微分与导数的区别