У меня есть источник данных с примерно 2000 строками, которые выглядят следующим образом:
6712, Аэропорт Анактувук Пасс, Анактувук Пасс, США, AKP, PAKP, 68.1336, -151.743,2103, -9, A
Что меня интересует, так это 6-й раздел этой строки, поэтому я хочу превратить его в массив, а затем проверить 6-й раздел [5] на наличие этой строки "PAKP"
Код:
NSBundle *bundle = [NSBundle mainBundle];
NSString *airportsPath = [bundle pathForResource:@"airports" ofType:@"dat"];
NSData *data = [NSData dataWithContentsOfFile:airportsPath];
NSString *dataString = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
NSArray *dataArray = [dataString componentsSeparatedByString:@"\n"];
NSRange locationOfAirport;
NSString *workingString = [[NSString alloc]initWithFormat:@""];
NSString *searchedAirport = [[NSString alloc]initWithFormat:@""];
NSString *airportData = [[NSString alloc]initWithFormat:@""];
int d;
for (d=0; d < [dataArray count]; d=d+1) {
workingString = [dataArray objectAtIndex:d];
testTextBox = workingString; //works correctly
NSArray *workingArray = [workingString componentsSeparatedByString:@","];
testTextBox2 = [workingArray objectAtIndex: 0]; //correctly displays the first section "6712"
testTextBox3 = [workingArray objectAtIndex:1] //throws exception index beyond bounds
locationOfAirport = [[workingArray objectAtIndex:5] rangeOfString:@"PAKP"];
}
проблема в том, что когда заполняется workingArray, он заполняется только одним объектом (первым компонентом строки, который равен «6712». Если он отображает workingString, он правильно отображает всю строку, но для некоторых причина, это не правильно делает массив, используя запятые.
Я попробовал его, не используя файл данных, и он работал нормально, поэтому проблема заключается в том, как я импортирую данные.
идеи?