解析的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