解析的NSString使用CHCSVParser返回nil

问题描述 投票:0回答:2

我试图解析使用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"

当我通过它通过代码字段阵列没有返回。它看起来像这样:

fields: (null)

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

ios objective-c csv nsstring
2个回答
1
投票

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

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

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 
© www.soinside.com 2019 - 2024. All rights reserved.