2016-11-17 7 views
1

Ich arbeite an einer Anwendung, die Informationen über bestimmte Filme von einer API erhält, die API gibt die Genres eines Films in speziellen Int IDs für jedes Genre (28 für Action und 12 für Adventure) zurück. Wie würde ich diese IDs in die Genrenamen ändern? Ich habe versucht, mit stringByReplacingOccurrencesOfString("\(GenreIDS)", withString: "\(GenreNames)") (GenreIDS und GenreNames sind Arrays), aber meine Anwendung abgestürzt.Ersetzen mehrerer Zeichen in swift

+1

Können Sie den Fehler liefern der Compiler gibt dir? – abarbier

Antwort

0

Es gibt keinen Aufruf (zumindest nicht, dass ich weiß), die ein Array von Quellzeichenfolgen mit einem Array von Ersatzzeichenfolgen auf einmal ersetzen wird. Die Methode stringByReplacingOccurrencesOfString ersetzt alle Instanzen einer Zeichenfolge durch eine andere Zeichenfolge.

Sie müssen Ihre Arrays von Genre-IDs und Genre-Namen durchlaufen und diese Funktion wiederholt aufrufen. Etwas wie folgt aus:

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

(Beachten Sie, dass Variablennamen und Funktionsnamen mit Kleinbuchstaben beginnen sollte, und Klassennamen und Typnamen sollten mit Großbuchstaben beginnen.)

+0

Welche Version von swift verwenden Sie, ich bekomme wenige eeors bei der Verwendung Ihres Codes @Duncan C – fellowProgrammer

+0

Ich bin nicht auf meinem Mac. Das wurde aus dem Speicher getippt und könnte leicht kleinere Fehler enthalten. Es ist nur als Leitfaden gedacht, nicht als Code zum Kopieren und Einfügen. –