Dai documenti, sembra che la chiamata containsString()
a una stringa dovrebbe funzionare:
Il tipo String di Swift è collegato in modo uniforme alla classe NSString di Foundation. Se stai lavorando con il framework Foundation in Cocoa o Cocoa Touch, l'intera API NSString è disponibile per chiamare qualsiasi valore String creato, oltre alle funzionalità String descritte in questo capitolo. Puoi anche utilizzare un valore String con qualsiasi API che richiede un'istanza NSString.
Tuttavia, non sembra funzionare in questo modo.
Se si tenta di utilizzare someString.containsString(anotherString)
, verrà visualizzato un errore di compilazione che indica 'String' does not contain a member named 'containsString'
.
Quindi, ti rimangono alcune opzioni, una delle quali è quella di collegare esplicitamente il tuo String
a Objective-C usando bridgeToObjectiveC()
altri due che implicano esplicitamente l'uso di un NSString
e quello finale implica il cast String
di unNSString
Collegando, otterrai:
var string = "hello Swift"
if string.bridgeToObjectiveC().containsString("Swift") {
println("YES")
}
Digitando esplicitamente la stringa come an NSString
, otterrai:
var string: NSString = "hello Swift"
if string.containsString("Swift") {
println("YES")
}
Se ne hai uno esistente String
, puoi inizializzare un NSString usando NSString (stringa :):
var string = "hello Swift"
if NSString(string: string).containsString("Swift") {
println("YES")
}
E infine, puoi lanciare un esistente String
in uno NSString
come di seguito
var string = "hello Swift"
if (string as NSString).containsString("Swift") {
println("YES")
}