数据持久化之.plist文件

来源:互联网 发布:apache shiro文档 编辑:程序博客网 时间:2024/04/29 17:02

文件目录简单说明:

  • 应用程序包:包含了所有的资源文件和可执行文件
  • Document:保存应用运行时生成的需要持久化的数据,iTunes 同步设备时会备份该目录。例如,游戏应用可将游戏存档保存在该目录
  • tmp:保存应用运行时所需的临时数据,使用完毕后再将相应地文件从该目录删除,应用没有运行时,系统也可能会清除该目录下得所有文件。iTunes 同步设备时不会备份该目录。
  • Library / Caches:保存应用运行时生成的需要持久化的数据,iTunes 同步设备时不会备份该目录。一般存储体积大,不需要备份的非重要数据。
  • Library / Preference:保存应用的所有偏好设置,ios 的 Setting (设置)应用会在该目录中查找应用的设置信息。iTunes 同步设备时会备份该目录。


下面是利用字典将数据写入到.plist文件

////  ViewController.m//  plist////  Created by Rio.King on 13-9-22.//  Copyright (c) 2013年 Rio.King. All rights reserved.//#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad{    [super viewDidLoad];    [self createPlist];[self readPlist];    }-(void)readPlist{    //搜索Document路径    NSString *documents = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];        NSString *path = [documents stringByAppendingPathComponent:@"dict.plist"];    NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];    NSLog(@"%@",dict);}-(void)createPlist{    NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];    [dict setObject:@"chaoyuan" forKey:@"name"];    [dict setObject:[NSNumber numberWithInt:21] forKey:@"age"];    [dict setObject:@"www.chaoyuan.sinaapp.com" forKey:@"homepage"];        //获取Document目录    NSString *home = NSHomeDirectory();        NSString *documents = [home stringByAppendingPathComponent:@"Documents"];    NSLog(@"%@",documents);        NSString *path = [documents stringByAppendingPathComponent:@"dict.plist"];        //写到.plist文件中去    [dict writeToFile:path atomically:YES];}@end

注意:

  • 属性列表是一种XML格式的文件,拓展名为 plist
  • 如果对象是NSString、NSDictionary、NSArray、NSData、NSNumber等基本类型,就可以使用 writeToFile:atomically:方法直接将对象写到属性列表文件中。




附注:


mac系统如何显示和隐藏文件

苹果Mac OS X操作系统下,隐藏文件是否显示有很多种设置方法,最简单的要算在Mac终端输入命令。显示/隐藏Mac隐藏文件命令如下(注意其中的空格并且区分大小写):

显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true

隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false


或者

显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles YES

隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles NO

输完单击Enter键,退出终端,重新启动Finder就可以了

重启Finder:鼠标单击窗口左上角的苹果标志-->强制退出-->Finder-->重新启动