iphone - 使用 CHCSVParser 的基础介绍

标签 iphone objective-c xcode parsing csv

我正在实现 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/

相关文章:

iphone - iOS 聊天 APNS、套接字或时间间隔

ios - iOS 中的 TCP 套接字编程。服务器客户端响应

iPhone WebApps,有没有办法检测它是如何加载的?主屏幕 vs Safari?

iphone - 构建时的InfoPlist.strings问题

ios - 从后台打开应用程序时不调用 ViewDidAppear

ios - 尝试使用 NSFetchedResultsController 将 CoreData 集成到我的 UITableView 中,但应用程序启动后它就会失败

上传到 App Store 时 Xcode 出错 : "No suitable application records were found"

iphone - 由于内存问题/MBProgressHUD 指示器导致应用程序崩溃

iphone - 如何关闭内容 View 中的弹出 View ?

iOS 应用内购买验证