加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – 使用CHCSVWriter保存CSV文件

发布时间:2020-12-16 07:31:37 所属栏目:百科 来源:网络整理
导读:我正在尝试使用CHCSVWriter编写一个大型CSV文件,从核心数据管理对象到apps文档目录. 虽然看起来运行正常,但cvs文件一旦完成就不会存在. NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) ob
我正在尝试使用CHCSVWriter编写一个大型CSV文件,从核心数据管理对象到apps文档目录.

虽然看起来运行正常,但cvs文件一旦完成就不会存在.

NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) objectAtIndex:0];
    NSString *filename = @"productFileExport.csv";
    NSURL *fileURL = [NSURL fileURLWithPathComponents:[NSArray arrayWithObjects:documentsDirectory,filename,nil]];    

    CHCSVWriter *cvsExport = [[CHCSVWriter alloc] initWithCSVFile:[fileURL absoluteString] atomic:NO];

    for (Product *prod in fetchedObjects) {
        [cvsExport writeLineOfFields:prod.code,prod.barcode,prod.name,prod.size,prod.casesize,nil];
    }
    [cvsExport closeFile];

我认为这是一个文件名的问题我试过改变initWithCVSFile:从[fileURL absoluteString]到[fileURL path]和[fileURL description]没有运气.
此外,如果我将原子变为YES,则会出现以下错误:

* Terminating app due to uncaught exception ‘NSInvalidArgumentException’,reason: ‘* -[NSFileManager
moveItemAtPath:toPath:error:]: destination path is nil’

非常感谢任何帮助,谢谢

解决方法

问题出在cvsExport writeLineOfFields中,传递的第一个对象为nil,因此没有任何内容写入文件.

还有initWithCVSFile:要传递给它的[fileURL路径].

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读