偏好设置(Preference)

一、Preference简介

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

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

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

(4)只能储存NSData、NSNumber、NSDictionary、NSString、NSDate、NSArray、BOOL等数据类型,如果需要存储其他NSObject类型的数据,可以用NSKeyedArchive先转换成NSData之后再存储。

二、NSUserDefaults使用

NSUserDefaults是单例,也是线测安全的

2.1、获取APP共享的的偏好设置

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

2.2、存储数据(API都是类似的)

[defaults setObject:@"123" forKey:@"pwd"];

[defaults setInteger:10 forKey:@"age"];

[defaults setBool:YES forKey:@"auto_login"];

[defaults synchronize];   立刻同步保存数据

2.3、读取数据

NSString *account = [defaults objectForKey:@"account"];

BOOL autoLogin = [defaults boolForKey:@"auto_login"];

2.4、删除某个值

[defaults removeObjectForKey:@"auto_login"];

时间: 2024-10-29 16:06:31

偏好设置(Preference)的相关文章

【iOS开发-存储】使用偏好设置preference存储

①很多iOS应用都支持偏好设置,比如保存用户名.密码.字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能 ②每个应用都有个NSUserDefaults实例,通过它来存取偏好设置 ③比如,保存用户名.字体大小.是否自动登录 保存方法 - (IBAction)save { // 1.利用NSUserDefaults,就能直接访问软件的偏好设置(Library/Preferences) NSUserDefaults *defaults = [NSUserDefaults stand

iOS开发之数据存储之Preference(偏好设置)

1.概述 很多iOS应用都支持偏好设置,比如保存用户名.密码.字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能. 每个应用都有个NSUserDefaults实例,通过它来存取偏好设置.比如,保存用户名.字体大小.是否自动登录. NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults  setObject:@"itcast"  forKey:@"username

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

1.iOS应用数据存储的常用方式XML属性列表(plist)归档Preference(偏好设置)NSKeyedArchiver归档(NSCoding)SQLite3 Core Data 2.应用沙盒每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒应用沙盒的文件系统目录,如下图所示(假设应用的名称叫Layer)模拟器应用沙盒的根路径在: (apple是用户名, 8.0是模拟器版本)/Users/apple/Libra

UI-数据储存(偏好设置)

数据储存的5大方式: 1.XML属性列表(plist)归档 2.Preference(偏好设置):本质还是通过“plist”来储存数据,但是使用更简单(无需关注文件.文件名.路径) 3.NSKeyedArchiver归档(NSCoding):把任何对象,直接保存为文件的方式 4.SQLite3:存储非常大量的数据时使用 5.Core Data:就是对SQLite的封装 1.沙盒(sandBox)简介 每个iOS应用都有自己的应用沙盒(应用沙盒就是应用的文件夹),与其他文件系统隔离.应用必须待在自

iOS:沙盒、偏好设置、归档、解归档

一.沙盒和应用程序包 •iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被称为沙盒 •iOS常用目录: –Bundle –Documents –Library/Caches –Library/Preference –tmp 显示mac隐藏文件:defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏mac隐藏文件:defaults write com.apple.finder AppleSh

持久化存储——偏好设置,plist,归档---学习笔记二

//一. 本地持久化 //1.沙盒 //1.1 应用程序包:存放的是应用程序的源文件,包括资源文件和可执行文件 NSString *path = [[NSBundle mainBundle]bundlePath]; //1.2 Documents:最常用的目录,iTunes同步该应用时会同步此文件夹中的内容,适合存储重要数据 NSString *documents = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDo

数据序列化以及偏好设置

iso常用序列化方法: (1) XML 属性列表 (plist) 归档 (2) Preference (偏好设置) (3) NSKeyedArchiver 归档 (NSCoding) (4) SQLite3 (5) CoreDate 偏好设置: 用于存储用户名与密码,以及开关状态 好处:(1)不关心文件名;(2)做键值存储 //存数据 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; //自动生成一个 plist

iOS: 偏好设置的详解和使用

偏好设置的详解: 用途:主要用来存储用户系统的设备信息,但有的时候也可以在程序的任何地方用来存储数据,作为全局数据来访问,例如视图切换需要进行登录时. 偏好设置的写入: •很多iOS应用都支持偏好设置,比如保存用户名.密码.字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能 •每个应用都有个NSUserDefaults实例,它是一个单例对象,通过它来存取偏好设置,设置信息都是键值对的形式. •例如:保存用户名.字体大小.是否自动登录 NSUserDefaults *defau

偏好设置(2)偏好设置界面用PreferenceFragment或PreferenceActivity

android应用各参数或配置是用SharedPreference存储管理的,但是它没有界面,如果想用界面, 系统在3.0以上用PreferenceFragment(推荐用它),以下用PreferenceActivity 它们默认有listview显示各配置项,给它们指定一个配置xml文件就可. 下面是示例,它们用相同的xml. 1.效果 2.配置xml: res/xml/my_preference.xml <?xml version="1.0" encoding="u