我想知道在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....
感谢您的帮助。
答案 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
}