modifying a plist is not working

后端 未结 3 1349
陌清茗
陌清茗 2020-12-07 04:47

i have to modify a BOOL value in my plist file stored with the bundle.i am able to access the dictionary which i have to modify .from nslogging i can see that dict is update

3条回答
  •  生来不讨喜
    2020-12-07 05:21

    Is the plist a part of your resources? Not sure if we can edit a plist there. Copy the plist to your app's Documents folder and update it there.

    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSError *error;
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *plistPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"TopicsList.plist"];
    
    success = [fileManager fileExistsAtPath:plistPath];
    if(!success){
        //file does not exist. So look into mainBundle
        NSString *defaultPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"TopicsList.plist"];
        success = [fileManager copyItemAtPath:defaultPath toPath:plistPath error:&error];
    }
    

    Now whatever changes you need to make to the plist or read data from the plist, read it from the copy in Documents folder.

提交回复
热议问题