OC - Dictionary 写入plist文件失败

今天打算把项目中的一些数据保存到沙盒中的plist文件。用来以后使用,但是怎么都不能进行写入。
后来在网上查看了一下。如果是服务器返回的有些字段是 null 。这个是不能写入成功的。
把null改成了"" 就可以写入成功。

/**
 通过给json文件名转换成plist并保存

 @param pathString 本地json文件名
 @param fileName 要保存的plist文件名
 */
+ (void)jsonWriteToPath:(NSString *)pathString fileName:(NSString *)fileName{
    NSString *path = [[NSBundle mainBundle] pathForResource:pathString ofType:nil];
    
    NSLog(@"path = %@",path);

    NSData *receiveData  = [NSData dataWithContentsOfFile:path];
    
    // 获得json 先转成字符串
    NSString *receiveStr = [[NSString alloc] initWithData:receiveData  encoding:NSUTF8StringEncoding];
    
    // 字符串在生成NSData
    NSData *data = [receiveStr dataUsingEncoding:NSUTF8StringEncoding];
    

    // 在解析
    NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
    
    NSString *filePath = [NSString stringWithFormat:@"/Users/study/Desktop/%@", fileName];
    
    NSLog(@"filePath = %@",filePath);

    NSLog(@"-------------------------------------------");

    if([jsonDict writeToFile:filePath atomically:YES]){
        NSLog(@"------写入文件------success");
    }
    else{
        NSLog(@"------写入文件------fail,error==");
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容