從 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 再次儲存到文件目錄。