解析的NSString使用CHCSVParser返回nil

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解析的NSString使用CHCSVParser返回nil相关的知识,希望对你有一定的参考价值。

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

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

答案

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

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

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

这是我到底是怎么实现的吧。

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 

以上是关于解析的NSString使用CHCSVParser返回nil的主要内容,如果未能解决你的问题,请参考以下文章

如何使用来自 NSString 的 NSJSONSerialization 解析 Json [重复]

将 Plist (NSString) 解析为 NSDictionary

RPSCommonObjects.m 解析问题未知类型名称 NSString

Objective C 如何解析这个 NSString

iOS - Json解析精度丢失处理(NSString, Double, Float)

将 char* 解析为 NSString 在 Objective-C 的第一个新行处停止