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;
}


上一篇下一篇

猜你喜欢

热点阅读