Подтвердить что ты не робот

Основы Введение в использование CHCSVParser

Я внедряю CHCSVParser в мое приложение для iPhone (спасибо Dave!), однако я действительно смущен тем, как его использовать. Я прочитал read-me и искал некоторые вопросы по SO, но все же не уверен на 100%, что делать.

У меня есть файл .CSV, возможно, 5000 строк данных и 3-4 столбца.

Я хочу, чтобы эти данные были взамен, загрузите мой UITableView вместе со своим соответствующим detailViewController.

Итак, я предполагаю, что мне нужно каким-то образом реализовать метод массива API, но может ли кто-нибудь помочь мне начать?

4b9b3361

Ответ 1

Я рад, что вам это нравится:)

В принципе, CHCSVParser разбирает только CSV файлы. Вы даете ему путь к CSV файлу, и он вернет вам целую кучу NSStrings. То, что вы делаете за пределами этого момента, полностью зависит от вас.

Итак, скажем, вы включили CSV файл в приложение iOS под названием "Data.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 вы соглашаетесь соблюдать условия, в которых он доступен.:)