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

标签 objective-c ios csv nsfilemanager

我正在尝试使用 CHCSVWriter 编写一个大型 CSV 文件,从核心数据管理对象到应用程序文档目录。

虽然看起来运行良好,但 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] 但没有成功。 此外,如果我将 atomic 更改为 YES,则会出现以下错误:

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

非常感谢任何帮助,谢谢

最佳答案

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

initWithCVSFile: 也需要将 [fileURL 路径] 传递给它。

关于objective-c - 使用 CHCSVWriter 保存 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11626528/

相关文章:

java - 如何查找整个 csv 文件中每一列的最小值和最大值

ios - 从浮点 lat long 创建的 CLLocation 显示出更高的精度

ios从应用程序发送图像到邮件客户端不显示

ios - 如何改造 iOS 7 中的 UIAlertView?

ios - 动画 24 张大图像 - 每张 728x936 大小

python - Bcp 命令进入 Microsoft Azure

ios - 如何检查 ScrollView 是否在底部滚动或不在 ios 中

ios - 我的 UIView 有一个 UIButton 作为它的 subview 之一,但不响应 Objective-C 中的事件

iphone - Cocoa Touch 中的音调生成

python - 将 pandas 数据帧保存到 csv 时如何保留 numpy 数组