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

Лучший способ разделить строки на массив

Я разрабатываю приложение для путешествий, мне нужно прочитать txt файл, содержащий все состояния и страны, так как вы можете заметить, что это довольно большой файл для чтения, во всяком случае, это пример текста внутри файл:

Закинтос (ZTH), ГРЕЦИЯ
Zanesville (ZZV), США

Занджан (JWN), ИРАН

Занзибар (ZNZ), Танзания
...

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

Я пробовал использовать NSScanner, используя "," как разделитель, но я не знаю, как это сделать, а также я попытался использовать методы NSString без каких-либо результатов.

Любая помощь приветствуется, спасибо заранее!.

btw извините за мой английский XD

4b9b3361

Ответ 1

Самый простой способ разделить NSString на NSArray следующий:

NSString *string = @"Zakinthos (ZTH),GREECE";
NSArray *stringArray = [string componentsSeparatedByString: @","];

Это должно сработать для вас. Вы пробовали это?

Ответ 2

Чтобы расширить ответ на hspain, и чтобы привести решение в соответствие с вопросом, я представляю вам следующие

NSString *string = @"Zakinthos (ZTH),GREECE";
NSArray *stringArray = [string componentsSeparatedByString: @","];

это дает вам массив из 2 элементов: [@ "Zakinthos (ZTH)", @ "GREECE" ];

отсюда вы можете легко получить страну.

NSString *countryString = stringArray[1]; // GREECE

и повторите процесс для дальнейшего уточнения:

NSArray *stateArray = [(NSString*)stringArray[0] componentsSeparatedByString:@" "];

stateArray теперь выглядит следующим образом [@ "Zakinthos", @ "(ZTH)" ];

NSString *stateString = stateArray[0]; // Zakinthos

и теперь у вас есть страна и государство, разделенные на собственные строки, которые вы можете создавать новые массивы следующим образом:

NSMutableArray *countryArray = [NSMutableArray arrayWithObjects:countryString, nil];
NSMutableArray *stateArray = [NSMutableArray arrayWithObjects:stateString, nil];

Когда вы обрабатываете свой документ местоположений, вы можете добавить больше стран и состояний в свои собственные массивы через что-то вроде следующего:

[countryArray addObject:newCountryString];
[stateArray addObject:newStateString];