C'è un problema con la risposta di GoZoner per determinati tipi di dati e anche un modo leggermente migliore per farlo. I seguenti esempi possono mostrare questo:
let animalArray: NSMutableArray = ["Dog","Cat","Otter","Deer","Rabbit"]
let filteredAnimals = animalArray.filter { $0.rangeOfString("er") != nil }
print("filteredAnimals:", filteredAnimals)
filteredAnimals: [Dog, Cat, Otter, Deer, Rabbit]
Probabilmente non il set che ci si aspettava!
Tuttavia, questo funziona bene in questo modo se non si digita animalArray come NSMutableArray:
let animalArray = ["Dog","Cat","Otter","Deer","Rabbit"]
let filteredAnimals = animalArray.filter { $0.rangeOfString("er") != nil }
print("filteredAnimals:", filteredAnimals)
filteredAnimals: [Otter, Deer]
Tuttavia mi consiglia di utilizzare $ 0.contains() invece di $ 0.rangeOfString()! = nil perché funziona in entrambe le circostanze, e un po 'migliora la leggibilità del codice:
let animalArray: NSMutableArray = ["Dog","Cat","Otter","Deer","Rabbit"]
let filteredAnimals = animalArray.filter { $0.contains("er") }
print("filteredAnimals:", filteredAnimals)
filteredAnimals: [Otter, Deer]
fonte
2016-06-30 19:58:34
Qual è l'errore esatto che si ottiene? Cosa viene stampato se si prova 'NSLog (" \ (keywords) ")'? – Undo
Basta notare che si sta restituendo un optional. Spero che questo aiuti –
non eseguito mi dà l'errore di cui sopra: "AnyObject non è un sottotipo di NSString" – Meseery