Ответ 1
Самый простой способ разделить NSString на NSArray следующий:
NSString *string = @"Zakinthos (ZTH),GREECE";
NSArray *stringArray = [string componentsSeparatedByString: @","];
Это должно сработать для вас. Вы пробовали это?
Я разрабатываю приложение для путешествий, мне нужно прочитать txt файл, содержащий все состояния и страны, так как вы можете заметить, что это довольно большой файл для чтения, во всяком случае, это пример текста внутри файл:
Закинтос (ZTH), ГРЕЦИЯ
Zanesville (ZZV), США
Занджан (JWN), ИРАН
Занзибар (ZNZ), Танзания
...
Теперь я читаю файл без проблем, но я не знаю, как создать два массива, один с состоянием и другой со страной, чтобы я мог показать их в таблицу, когда текст автозаполняется.
Я пробовал использовать NSScanner, используя "," как разделитель, но я не знаю, как это сделать, а также я попытался использовать методы NSString без каких-либо результатов.
Любая помощь приветствуется, спасибо заранее!.
btw извините за мой английский XD
Самый простой способ разделить NSString на NSArray следующий:
NSString *string = @"Zakinthos (ZTH),GREECE";
NSArray *stringArray = [string componentsSeparatedByString: @","];
Это должно сработать для вас. Вы пробовали это?
Чтобы расширить ответ на 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];