plist 全名 Property List,属性列表文件,它是一种用来存储串行化后的对象的文件,属性列表文件的扩展名为 .plist ,因此通常被称为 plist文件。文件是xml格式的。plist文件 通常用于储存用户设置,也可以用于存储捆绑的信息
创建 plist 文件的方式
1> 右键 New File
1> 创建出来的 plist,可以直接点击添加新列
2> 可直接通过文件操作创建 plist 文件
3> 读取 plist 中的信息
NSString
*plistPath = [[
NSBundle
mainBundle
]
pathForResource
:
@"test"
ofType
:
@"plist"
];
//
通过文件名
和
扩展名获取文件路径
NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];// 读取路径文件中的信息
3> 向 plist文件中写入信息
NSMutableDictionary
*data = [[
NSMutableDictionary
alloc
]
init
];
//
读取路径文件中的信息
[data setObject:@"value_a" forKey:@"key_a"];
[data
setObject
:
@"value_b"
forKey
:
@"key_b"
];
[data
setObject
:
@"value_c"
forKey
:
@"key_c"
];
//
获取应用程序沙盒的
Documents
目录
NSArray
*paths =
NSSearchPathForDirectoriesInDomains
(
NSDocumentDirectory
,
NSUserDomainMask
,
YES
);
NSString
*plistPath1 = [paths
objectAtIndex
:
0
];
//
得到完整的文件名
NSString
*filename = [plistPath1
stringByAppendingPathComponent
:
@"test123456.plist"
];
[data
writeToFile
:filename
atomically
:
YES
];
//
读取文件中的信息就可以判断是否文件操作成功
NSMutableDictionary
*data1 = [[
NSMutableDictionary
alloc
]
initWithContentsOfFile
:filename];
NSLog(@"%@", data1);
4> 修改 plist文件中的信息
//
获取应用程序沙盒的
Documents
目录
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString
*plistPath1 = [paths
objectAtIndex
:
0
];
//
得到完整的文件名
NSString
*filename = [plistPath1
stringByAppendingPathComponent
:
@"test123456.plist"
];
NSMutableDictionary
*data = [[
NSMutableDictionary
alloc
]
initWithContentsOfFile
:filename];
//
读取路径文件中的信息
//
设置属性值
,
没有的数据就新建,已有的数据就修改
[[data
objectForKey
:
@"users"
]
setObject
:
@"
逗比
"
forKey
:
@"name"
];
[data
removeObjectForKey
:
@"key_c"
];
//
删除数据
[data
setObject
:
@"cccccccccccc"
forKey
:
@"key_c"
];
//
测试时无法直接修改已存在
key
的值,可以先删除再添加方式来修改
[data
writeToFile
:filename
atomically
:
YES
];
//
读取文件中的信息就可以判断是否文件操作成功
NSMutableDictionary
*data1 = [[
NSMutableDictionary
alloc
]
initWithContentsOfFile
:filename];
NSLog(@"%@", data1);