Purtroppo questo è un vecchio thread. Cambia leggermente il codice per iniziare correttamente la variabile 'nameOfBook'.
class book{
var nameOfBook: String!
init(name: String) {
nameOfBook = name
}
}
Quindi possiamo creare una serie di libri.
var englishBooks = [book(name: "Big Nose"), book(name: "English Future
Prime Minister"), book(name: "Phenomenon")]
funzione di 'filtro' del matrice prende un argomento e alcune logiche, 'contiene' funzione può assumere una forma più semplice di una stringa che si sta cercando.
let list1 = englishBooks.filter { (name) -> Bool in
name.contains("English")
}
è quindi possibile stampare lista1 in questo modo:
let list2 = arr1.map({ (book) -> String in
return book.nameOfBook
})
print(list2)
// print ["English Future Prime Minister"]
Sopra due frammenti possono essere scritti breve mano in questo modo:
let list3 = englishBooks.filter{ ($0.nameOfBook.contains("English")) }
print(list3.map({"\($0.nameOfBook!)"}))