码迷,mamicode.com
首页 > 其他好文 > 详细

数据持久化

时间:2015-10-14 21:31:54      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

 文件读取的类型: (字符串, 数组, 字典, 二进制 --- NSData)

        1.写入文件. 

            writeToFile: atomically:  -- 针对于数组, 二进制数组

             writeToFile: atomically: encoding: error:  --  针对于字符串

        2.从文件中读取

            [类名  类名stringWithContentsOfFile:] -- 针对于数组, 子字典 二进制数据

            [类名  类名WithContentsOfFile: encoding: error:] -- 针对于 字符串

        3.VVVIP

            对于数组, 字典大容器deng, 想要数显文件读写, 必须要保证荣放弃中的元素也必须是 数组, 字符串, 字典, 二进制数据等数据类型之一;

 

//获取文件路径的方法

- (NSString *)filePath {

    //1.获取Documets 文件夹路径(存放持久保存的数据)

    

    //参数1 查找文件路径

    //参数2 在那个域中查找

    //参数3 是否显示详细路径

    NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];

    //拼接 文件路径

    NSString *filePath = [documentPath stringByAppendingPathComponent:@"NSDictionary.txt"];

    NSLog(@"%@", filePath);

    return filePath;

}

   //一.字符串写入文件

    //atomically:YES 保证文件的完整性(安全)

    //encoding: 编码; NSUTF8StringEncoding  国际标准

    NSError *error= nil;

    //先读取源文件中的内容

    NSString *oldFile = [NSString stringWithContentsOfFile:[self filePath] encoding:NSUTF8StringEncoding error:nil];

    //将原有数据域新数据拼接在一起

    NSString *newFile = [oldFile stringByAppendingFormat:@"%@",self.firstTexField.text];

    //判断 之前是否能读取oldFile 文件,

    if (!newFile) {

        newFile = self.firstTexField.text;

    }

    BOOL isSuccess = [newFile writeToFile:[self filePath] atomically:YES encoding:NSUTF8StringEncoding error:&error];

    if (isSuccess) {

        NSLog(@"YES");

    } else {

        NSLog(@"NO");

    }

//2.数组写入文件

    NSArray *dataArray = @[self.firstTexField.text, self.secondTextField.text];

    [dataArray writeToFile:[self filePath] atomically:YES];

 

    //3.字典

    NSDictionary *dic = @{@"tf1":self.firstTexField.text, @"tf2":self.secondTextField.text};

    [dic writeToFile:[self filePath] atomically:YES];

// 二. 文件读取

//字符串从文件中读取

    self.secondTextField.text = [NSString stringWithContentsOfFile:[self filePath] encoding:NSUTF8StringEncoding error:nil];

NSArray *dataArr = [NSArray arrayWithContentsOfFile:[self filePath]];

    self.firstTexField.text = [dataArr lastObject];

    self.secondTextField.text = [dataArr firstObject];

//字典

    NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:[self filePath]];

    self.firstTexField.text = [dic objectForKey:@"tf2"];

    self.secondTextField.text = dic[@"tf1"];

    

数据持久化

标签:

原文地址:http://www.cnblogs.com/tapple/p/4878466.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!