NSBundle下的文件是可读不可写的

来源:互联网 发布:人性 知乎 编辑:程序博客网 时间:2024/04/26 08:21

记得之前在http://blog.csdn.net/duxinfeng2010/article/details/7694233上回复了,博客博主的问题,他在代码中:

  1.     NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"testInfo" ofType:@"plist"];      
  2.     NSMutableDictionary *data=[[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];   
  3.      NSLog(@"%@",data);     
  4.     [data setObject:@"test1" forKey:@"key1" ];  
  5.     [data setObject:@"test2" forKey:@"key2"];    
  6.     [data writeToFile:@"testInfo.plist" atomically:YES];  

然后他在程序的目录下,查看它的testInfo.plist发现没有内容;


然后我说他这句:    [data writeToFile:@"testInfo.plist" atomically:YES];  写入文件的路径已经发生了改变,导致在程序中查看testInfo.plist没有内容;


其实是根本没有写入到那里去,因为在NSBundle下的文件都是只可以读取而不可以写入的,所以很多文件的处理都得用到沙盒文件;呵呵~ 终于解决了  可以验证:

 if ([datawriteToFile:@"testInfo.plist"atomically:YES])

    {

        NSLog(@"写入成功");

    }else

    {

        NSLog(@"这个目录下只可以读取哦");

    }


关于NSBundle的用法参考:http://blog.csdn.net/bihailantian1988/article/details/7703358


原创粉丝点击