iOS-数据持久化-NSUserDefaults

正文

数据持久化:把闪存上的数据以文件的形式保存下来(保存到磁盘)它的目的是为了保存数据

1、plist

2、NSUserDefaults

3、归档NSCoding序列化

4、sqlite(数据库)

5、coreData(苹果专有数据库)

路径:文件存储的位置

ios专有的沙盒机制:bandBox

IOS的应用程序里,每一个应用程序只能够读取写入本应用程序的沙盒目录

沙盒的路径->应用程序根目录

NSLog(@"%@",NSHomeDirectory());打印根目录

沙盒目录的组成

1、Documents:可以开放读取写入的权限->里面所有的文件都可以导出或者拖进去->不要放一些隐私的文件

怎样打开?

info.plist文件里面添加Application supports iTunes file sharing把这个key对应的值改成YES就可以分享Documents目录

2、Library:存放配置信息或者数据库资源文件

3、tmp:临时文件存储的地方隔一段时间会清除一次(可以设置)->不能放重要的文件(数据库)

bundle目录:应用程序右键显示包内容的目录不允许应用程序在运行的时候写入任何数据

目录

1、两个目录:

①、沙盒(有三个文件夹docments tmp library)

②、bundle在运行的时候只能读数据写不进去数据

2、读取路径方式

bundle目录:[NSBundle

mainBundle]

根目录:NSHomeDirectory()

tmp:NSTemporaryDirectory()

①、查找路径数组

NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES)

②、找到指定路径

取第一个或最后一个元素

Documents:NSDocumentDirectory

library:NSLibraryDirectory

Caches:NSCachesDirectory

读写文件

[数组对象writeToFile:path atomically:YES]

[字典对象writeToFile:path atomically:YES]

[字符串对象writeToFile:path atomically:YESencoding:NSUTF8StringEncoding error:nil]

[NSArray arrayWithContentsOfFile:path]

[NSDictionary dictionaryWithContentsOfFile:path]

[NSStringstringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil]

写入读取文件

字典、数组都有读取写入文件的方法

1、写入到plist文件里面

2、数组、字典

数组读取文件

arrayWithContentsOfFile:(NSString

*)path

initWithContentsOfFile:(NSString

*)path

数组写入内容

-

(BOOL)writeToFile:文件路径atomically:(BOOL)useAuxiliaryFile

**atomically如果设置成YES不会直接写入到指定文件先写入到一个临时文件暂存一下当写入完毕才会存入到指定文件如果遇到(断电闪退来电话...)就会删除临时文件不去写入到指定文件防止写入数据不完整在使用的时候出现崩溃

如果设置成NO不管任何情况都会写入

字典读取文件

dictionaryWithContentsOfFile:(NSString

*)path

initWithContentsOfFile:(NSString

*)path

字典写入文件

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile

字符串读取文件

initWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc

error:(NSError **)error

stringWithContentsOfFile:(NSString

*)path encoding:(NSStringEncoding)enc error:(NSError **)error

NSString *str =[NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

字符串写入文件

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFileencoding:(NSStringEncoding)enc error:(NSError **)error

NSError *error;

[contentwriteToFile:path atomically:YESencoding:NSUTF8StringEncoding error:&error];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353

推荐阅读更多精彩内容

  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,658评论 2 7
  • 概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。在iOS开发中,...
    Leeson1989阅读 1,916评论 4 1
  • 一、iOS中的沙盒机制 iOS应用程序只能对自己创建的文件系统读取文件,这个独立、封闭、安全的空间,叫做沙盒。它一...
    1d5cb7cff98d阅读 1,770评论 0 0
  • //把数据存到硬盘 //iOS, 沙盒机制 //1.系统会为每个app, 分配一个文件夹(沙盒) //2.每个ap...
    少年不知代码贵阅读 315评论 1 1
  • 这是我个人的学习笔记 , 如有不同见解欢迎评论交流 .( 我的微博 : http://weibo.com/John...
    JohnnyB0Y阅读 2,079评论 2 5