一、我们简单的把“数据存储”总结一下,

1.上午,我们说的三种存储方式,
1)plist
2)Preference(偏好设置)
3)NSKeyedArchiver(归档、解档)
三种存储方式,
2.什么能做plist存储,
1)writeToFile:方法,
实际上,这个东西,才是关键,
有一个对象,可以去写writeToFile:方法,
那么,可以考虑,去做plist存储,
2)还有一个比较特殊的东西,我们说,字典,和,数组,都可以去写writeToFile:方法,
还有一个是字符串,实际上,字符串,也有writeToFile:方法,
它实际上,也可以去做plist存储,
但是,plist本身,并不支持字符串,

也就是说,我们那个plist,新建了一个文件,根节点,那一块儿,我们选了一下,只有Array、和、Dictionary、这两个、
然后,字符串,实际上,是没有的,
但是,字符串,也可以去做plist存储,
2.好,我们可以试一下啊,
新建一个项目啊,

Name:“08-字符串做plist“,

点“Next”,

好,新建一个项目啊,

好,然后呢,在这个里边儿啊,

我直接在viewDidLoad:里边儿来写吧,
2)首先呢,写一个字符串啊,NSString

NSString *str = @“value”;

然后呢,这个str,实际上,也有一个叫做writeToFile:的方法,

然后呢,用这个“过期的”,也行,“新的”,也行,

新的,需要编码,我直接用这个“过期的”,

[str writeToFile:(NSString *) atomically:(BOOL)];

[str writeToFile:(NSString *) atomically:(BOOL)];
输入两个参数:
1)writeToFile:(NSString *),这个里边儿啊,要传一个file,
这个file里边儿,来一个
NSString *tmpPath =

NSString *tmpPath = NSTemporaryDirectory();

tmpPath,就等于NSTemporaryDirectory(),系统给我们封装好的,我们只需要一句话,就能取到tmpPath,
tmp的啊,不是document的,NSTemporaryDirectory,这是系统给我们封装好的,直接一句话啊,就能够拿的到,

然后,再来一个file的path,啊,
NSString *filePath = [tmpPath stringByAppendingPathComponent:(NSString *)];

来一个file的name,

好,这个方法,再来写一个plist,“xx.plist”,

好,然后呢,把这个filePath,传进来,

2)atomically:(BOOL),这个atomically,直接YES,

然后,command + R,

这个应该就跑起来了啊,
跑起来以后,应该是有值的啊,我们看一下沙盒,

打开这个tmpPath,

实际上,也会有这么一个“xx.plist”,
然后呢,你打开它啊,

它这儿,也会有这么一个value,但是,它的“根节点”的类型,实际上,是什么都没有的,
它是,“存”,是没有问题的,
然后,你取出来,实际上,也没有问题,

我在这个里边儿,选中这个方法,删掉,
然后,写一个减号,-

- tou

- touchesBegan:withEvent:

- (void)touchesBegan:(NSSet< UITouch * > *)touches withEvent:(UIEvent *)event{
}
我在这个里边,写一个touchBegan啊,点击屏幕的时候,让它取一下
路径,还是它,

选中这一堆,command + C、
到这个touchBegan:方法里边儿,command + V、

写一个注释,// 获取文件路径
然后,再command + V、

好,然后呢,路径有了以后,我们再,

我们再去取一个字符串啊,实际上,你这个plist,你字典怎么着解析的,你字符串,也是一样的啊,
通过NSString 的一个方法,
[NSString

[NSString stringWithContentsOfFile:(NSString *)];

[NSString stringWithContentsOfFile:(NSString *)];

然后,把这个filePath,传进来,

然后,我拿NSString类型的变量去接一下,
NSString *str = [NSString stringWithContentsOfFile:filePath];
