我正在实现 CHCSVParser进入我的 iPhone 应用程序(感谢戴夫!)但是我真的很困惑如何使用它。我已经阅读了自述文件并搜索了一些关于 SO 的问题,但仍然不能 100% 确定该怎么做。
我有一个 .CSV 文件,其中可能包含 5000 行数据和 3-4 列。
我希望这些数据作为返回,加载我的 UITableView 及其相应的 detailViewController。
所以我假设我需要以某种方式实现 API 的数组方法,但任何人都可以帮助我开始吗?
最佳答案
很高兴你喜欢:)
基本上,CHCSVParser
仅 解析CSV 文件。你给它一个 CSV 文件的路径,它会返回一大堆 NSStrings
。在那之后你做什么完全取决于你。
假设您在 iOS 应用程序中包含了一个名为“Data.csv”的 CSV 文件。以下是您将如何使用 CHCSVParser
来解析它:
NSString *path = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"csv"];
NSError *error = nil;
NSArray *rows = [NSArray arrayWithContentsOfCSVFile:path encoding:NSUTF8StringEncoding error:&error];
if (rows == nil) {
//something went wrong; log the error and exit
NSLog(@"error parsing file: %@", error);
return;
}
此时,rows
是一个数组。 rows
中的每个元素本身都是一个数组,表示 CSV 文件中的一行。 那个数组的每个元素都是一个NSString
。
假设您的 CSV 文件如下所示:
Barringer,Arizona,United States,Earth
"Chicxulub, Extinction Event Crater",,Mexico,Earth
Tycho,,,Moon
Lonar,Maharashtra,India,Earth
如果您通过解析器运行它,您将得到与此等效的结果:
[NSArray arrayWithObjects:
[NSArray arrayWithObjects:@"Barringer",@"Arizona",@"United States",@"Earth",nil],
[NSArray arrayWithObjects:@"Chicxulub, Extinction Event Crater",@"",@"Mexico",@"Earth",nil],
[NSArray arrayWithObjects:@"Tycho",@"",@"",@"Moon",nil],
[NSArray arrayWithObjects:@"Lonar",@"Maharashtra",@"India",@"Earth",nil],
nil];
然后你用它做什么是你的事。 CSV 解析器对 UITableView
一无所知,因此您可以获取此数据并以您可以轻松处理并适合您的数据模型的方式重新构建它。
此外,请记住,使用 CHCSVParser
,即表示您同意遵守 the terms under which it is made available . :)
关于iphone - 使用 CHCSVParser 的基础介绍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6961367/