2016-11-17 2 views
1

Я работаю над приложением, которое получает информацию о некоторых фильмах из API, API возвращает жанры фильма в специальных идентификаторах для каждого жанра (28 для Action и 12 для Adventure). Как я могу изменить эти идентификаторы на настоящие имена жанров? Я попытался использовать stringByReplacingOccurrencesOfString("\(GenreIDS)", withString: "\(GenreNames)") (GenreIDS и GenreNames - массивы), но мое приложение разбилось.Замена нескольких символов в swift

+1

Можете ли вы предоставить ошибку компилятор дает вам? – abarbier

ответ

0

Нет ни одного вызова (по крайней мере, не того, что я знаю), который заменит массив строк источника массивом строк замены за один раз. Метод stringByReplacingOccurrencesOfString заменяет все экземпляры одной строки другой строкой.

Вам нужно прокрутить массивы идентификаторов жанра и жанровых имен и повторно вызвать эту функцию. Что-то вроде этого:

for (index, genreID in genreIDs.enumerated() { 
    let genreName = genreNames[index] 
    let genreIDString = "\(genreID)" 
    let movieNames = 
     movieNames.stringByReplacingOccurrencesOfString(genreIDString, 
     withString: genreName) 
} 

(Обратите внимание, что имена переменных и имена функций должны начинаться с букв нижнего регистра, а имена классов и имена типов должны начинаться с прописных букв.)

+0

какая версия swift вы используете, я получаю немного eeors при использовании вашего кода @Duncan C – fellowProgrammer

+0

Я не на своем Mac. Это было напечатано из памяти и может содержать незначительные ошибки. Это означает только руководство, а не код для копирования. –

Смежные вопросы