Отображение содержимого файла CSV в UIPicker - PullRequest
0 голосов
/ 08 июля 2011

Мне было интересно, каким будет лучший способ отображения содержимого файла CSV в UIPicker.

Идея состоит в том, что человек выбирает диапазон дат в 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 Ответ

2 голосов
/ 08 июля 2011

Вы можете создать невероятно простой парсер CSV, просто используя методы NSString.

Вы можете прочитать содержимое 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
}
...