从 Plist 中保存并编辑删除数据
你已经创建了一个 plist。这个 plist 在应用程序中保持不变。如果要编辑此 plist 中的数据,在 plist 中添加新数据或从 plist 中删除数据,则无法在此文件中进行更改。
为此,你必须将 plist 存储在 Document Directory 中。你可以编辑保存在文档目录中的 plist。
将 plist 保存在文档目录中:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"];
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:filePath];
NSDictionary *plistDict = dict;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *error = nil;
NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:plistDict format:NSPropertyListXMLFormat_v1_0 errorDescription:&error];
if (![fileManager fileExistsAtPath: plistPath]) {
if(plistData)
{
[plistData writeToFile:plistPath atomically:YES];
}
}
else
{
}
从 Plist 中获取的数据为:
NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"Data.plist"];
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
NSArray *usersArray = [dict objectForKey:@"Object1"];
你可以根据需要编辑删除,添加新数据,并将 plist 再次保存到文档目录。