在UIPicker中显示CSV文件的内容

时间:2011-07-08 09:00:36

标签: iphone objective-c ios csv uipicker

我想知道在UIPicker中显示CSV文件内容的最佳方式是什么。

这个想法是,一个人在UIPicker中选择一个日期范围,然后根据他们的选择获得一个UIAlert弹出窗口。

我知道可能有一些选择。我认为可能有一些简单的地方可以避免建立数据库。

我的CSV文件有4列。其中一列是日期范围列,其编写如下:

Feb 20, 1920 - Feb 7, 1921
Feb 8, 1921 - Jan 27, 1922
Jan 28, 1922 - Feb 15, 1923
Feb 16, 1923 - Feb 4, 1924
etc....

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您可以使用NSString的方法构建一个非常简单的CSV解析器。

您可以使用

读取CSV中的内容
+ (id)stringWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error

然后,您可以拆分字符串以获取一个数组,其中每个对象使用

表示文件中的一行
- (NSArray *)componentsSeparatedByString:(NSString *)separator

传递@"\n"作为分隔符

一旦有了这个数组,你就可以循环遍历它并使用相同的方法通过传递@","作为分隔符来分割每一行(假设你的列以逗号分隔,尽管在你的情况下看起来分隔符可能是其他东西吗?

NSString *contents = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSArray *rows = [contents componentsSeparatedByString:@"\n"];
for (NSString *row in rows) {
    NSArray *values = [row componentsSeparatedByString:@","];
    // do something with the values here
}