从 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 再次保存到文档目录。