我正在尝试使用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路径].