码迷,mamicode.com
首页 > 移动开发 > 详细

Plist 文件的多次读写,实现IOS数据的本地化处理,实现小量数据的本地化处理

时间:2015-04-26 13:52:58      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:objective-c   沙盒   plist   内存   

废话少说,直接上代码:

 (void)viewDidLoad {
    [super viewDidLoad];
    
    //读取plist文件在程序文件夹中的文件,并且要注意,程序文件的文件只能读不能写,只能在程序沙盒之中;
    NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"plisttest" ofType:@"plist"];
    NSLog(@"这是plist文件的路径%@", plistPath);
    NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];
    NSLog(@"这是plist文件的内容%@", data);
    
    
    //添加数据说明,可以进行修改;
    [data setObject:@"我在东北大学" forKey:@"address"];
    [data setObject:@"男" forKey:@"sex"];
    //获取应用沙盒的的DOCUMENT 的路径;
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString* plistPath1 = [paths objectAtIndex:0];
    
    //在此处设置文件的名字补全其中的路径, 注意对于文件内存的修改是在内存之中完成的,然后直接把现在的数据一次性更新,这样减少了文件的读写的次数
    NSString *filename =[plistPath1 stringByAppendingPathComponent:@"plisttest.plist"];
    NSLog(@"这是沙盒之中的路径%@", filename);
    
    //写入文件
    [data writeToFile:filename atomically:YES];
    
    NSLog(@"证明我的数据真正得写入在其中了");
    
    //证明文件写入成功
    NSMutableDictionary *afterData = [[NSMutableDictionary alloc] initWithContentsOfFile:filename];
    NSLog(@"这是写入过数据的情况%@", afterData);
    
    NSLog(@"程序结束");
    
    // Do any additional setup after loading the view, typically from a nib.
}

运行结果是:

2015-04-26 12:08:55.857 plist[1702:112934] 这是plist文件的路径/Users/xuyaowen/Library/Developer/CoreSimulator/Devices/6BD2A547-CC45-4739-9578-C1D268C26B20/data/Containers/Bundle/Application/28977EA1-0F6A-4B4F-AF37-F6BADEEB889C/plist.app/plisttest.plist
2015-04-26 12:08:55.868 plist[1702:112934] 这是plist文件的内容{
    info = "\U8fd9\U662f\U6211\U7684plist\U6587\U4ef6";
    name = xiaohongqi;
    password = xiaohongqi;
}
2015-04-26 12:08:55.869 plist[1702:112934] 这是沙盒之中的路径/Users/xuyaowen/Library/Developer/CoreSimulator/Devices/6BD2A547-CC45-4739-9578-C1D268C26B20/data/Containers/Data/Application/F145B509-73B0-4266-AE06-94F2B0A56A7C/Documents/plisttest.plist
2015-04-26 12:08:55.902 plist[1702:112934] 证明我的数据真正得写入在其中了
2015-04-26 12:08:55.902 plist[1702:112934] 这是写入过数据的情况{
    address = "\U6211\U5728\U4e1c\U5317\U5927\U5b66";
    info = "\U8fd9\U662f\U6211\U7684plist\U6587\U4ef6";
    name = xiaohongqi;
    password = xiaohongqi;
    sex = "\U7537";
}
2015-04-26 12:08:55.902 plist[1702:112934] 程序结束


然后通过运行结束时的日志内容,证明成功!


用前往文件夹:复制路径即可访问到程序沙盒之中的文件,注意提高自身的能力!

Plist 文件的多次读写,实现IOS数据的本地化处理,实现小量数据的本地化处理

标签:objective-c   沙盒   plist   内存   

原文地址:http://blog.csdn.net/happylaoxu/article/details/45287221

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