iOS的.plist在代码内写不上数据的问题

图片说明
这个是login.plist文件,我想利用plist文件模拟数据库。
代码大概是如下这个样子。
我现在遇到的问题就是,利用NSLog(@"%@",usersArray)能够发现新插入的数据,但是在login.plist文件中没有实现插入。我运行的是iOS模拟器。小弟想请教各位大神是因为我的代码有问题还是.plist文件本身就不能写入本地文件?

     //写入文件
    NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"login" ofType:@"plist"];
    NSMutableArray *usersArray = [[NSMutableArray alloc]initWithContentsOfFile:plistPath];
    [usersArray insertObject:@"plistPath" atIndex:1];

    NSLog(@"%@",usersArray);
    [[usersArray objectAtIndex:0] setObject:@"li" forKey:@"name"];
    [[usersArray objectAtIndex:0] setObject:@"123" forKey:@"pwd"];
    [[usersArray objectAtIndex:0] setObject:@"0" forKey:@"money"];


    //写入文件
    [usersArray writeToFile:plistPath atomically:YES];

这是不可为的!这就相当于在程序运行的过程中更改程序代码一样,这是不被允许的,你所读的plist文件是和代码文件一个层级的,是不可被代码修改的。
如果需要保存,可以采用在 sanbox中新建文件,或者将信息存储到 NSUserDefaults 里面去!

存储在Sandbox下的Documents文件夹或者Library文件下,依据需求存储

模拟器可能没有权限写入,你在真机上试试,看是否能写入成功。