使用CHCSVParser解析NSString返回nil

时间:2014-03-22 01:16:32

标签: ios objective-c csv nsstring

我正在尝试使用CHCSVParser解析NSString,我已经从github下载了示例项目

https://github.com/davedelong/CHCSVParser

了解了整个项目,特别是在UnitTests.m文件中,该文件显示了如何读取.csv文件或csv NSString的示例。

我已经使用这些代码行来尝试解析我的NSString

//file = myNSString of comma seperated values
    NSStringEncoding encoding = 0;
    NSString *csv = [NSString stringWithContentsOfFile:file usedEncoding:&encoding error:nil];
    NSArray *fields = [csv CSVComponents];
    NSLog(@"fields: %@", fields);

这就是NSString"文件"看起来我想解析:

"Completed Item","Un-complete Item","Damaged Item"

当我通过该代码传递时,字段Array不返回任何内容。它看起来像这样:

fields: (null)

是的,该文件包含我在上面添加的字符串。

2 个答案:

答案 0 :(得分:1)

您已经有一个包含逗号分隔值的字符串。您不能使用该字符串加载具有相同名称的文件。只是做:

NSString *file = @"Completed Item","Un-complete Item","Damaged Item";
NSArray *fields = [file CSVComponents];
NSLog(@"fields: %@", fields);

答案 1 :(得分:0)

(代表问题作者发布解决方案。)

这就是我最终实现它的方式。

NSString *firstJSONString = [jsonArray objectAtIndex:0];
NSArray *fields = [firstJSONString CSVComponents]; // for some reason returns 1 object .. not sure why
NSArray *seperatedArrayOfFields = [fields objectAtIndex:0]; // this line splits fields into 3 NSString objects