记得之前在http://blog.csdn.net/duxinfeng2010/article/details/7694233上回复了,博客博主的问题,他在代码中:
- NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"testInfo" ofType:@"plist"];
- NSMutableDictionary *data=[[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];
- NSLog(@"%@",data);
- [data setObject:@"test1" forKey:@"key1" ];
- [data setObject:@"test2" forKey:@"key2"];
- [data writeToFile:@"testInfo.plist" atomically:YES];
然后他在程序的目录下,查看它的testInfo.plist发现没有内容;
然后我说他这句: [data writeToFile:@"testInfo.plist" atomically:YES]; 写入文件的路径已经发生了改变,导致在程序中查看testInfo.plist没有内容;
其实是根本没有写入到那里去,因为在NSBundle下的文件都是只可以读取而不可以写入的,所以很多文件的处理都得用到沙盒文件;呵呵~ 终于解决了 可以验证:
if ([data writeToFile:@"testInfo.plist" atomically:YES])
{
NSLog(@"写入成功");
}else
{
NSLog(@"这个目录下只可以读取哦");
}
关于NSBundle的用法参考: http://blog.csdn.net/bihailantian1988/article/details/7703358