OC语言day08-06NSArray文件读写
2016-07-31 本文已影响39人
liyuhong165
pragma mark NSArray文件读写
pragma mark 概念
pragma mark 代码
#import <Foundation/Foundation.h>
#pragma mark 类
#import "Person.h"
#pragma mark main函数
int main(int argc, const char * argv[])
{
#pragma mark 将 数组 写到文件当中
#warning 1.将数组写到文件中 (writeToFile:atomically)
NSArray *arr = @[@"lyh",@"lys",@"lyt"];
// 需要一个全路径
/**
atomically : 如果传入 YES , 字符串写入文件的过程中, 如果没有写完。那么不会生成文件
如果传入 NO, 字符串写入文件的过程中, 没有写完, 会生成文件
打开是一个XML文件 一种保存数据的方式
*/
/**
XML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<string>lyh</string>
<string>lys</string>
<string>lyt</string>
</array>
</plist>
*/
// 其实 如果将一个数组写入到文件中之后, 本质是 写入了 XML文件
// 在iOS开发中 一般情况下 我们会将XML文件的扩展名 保存为 plist
BOOL flag = [arr writeToFile:@"/Users/liyuhong165/Desktop/lyhs.plist" atomically:YES];
NSLog(@"%d",flag); // 是否 写入成功 (1成功)
#warning 2.从文件中读取 一个数组
NSArray *newArray = [NSArray arrayWithContentsOfFile:@"/Users/liyuhong165/Desktop/lyhs.plist"];
NSLog(@"%@",newArray);
#warning 3.读取 OC的对象 注意__ writeToFile:atomically
Person *p1 = [Person new];
p1.age = 10;
Person *p2 = [Person new];
p2.age = 3;
Person *p3 = [Person new];
p3.age = 5;
Person *p4 = [Person new];
p4.age = 2;
NSArray *arr2 = @[p1,p2,p3,p4];
// 注意 : writeToFile 只能写入 数组中保存的元素都是 Foundation框架中的类 创建的对象 , 如果保存的是自定义对象 那么不能写入
flag = [arr2 writeToFile:@"/Users/liyuhong165/Desktop/lyhs.plist" atomically:YES];
NSLog(@"%d",flag); // 是否 写入成功 (1成功)
return 0;
}