D'après les documents, il semble que l'appel containsString()à une chaîne devrait fonctionner:
Le type String de Swift est ponté de manière transparente à la classe NSString de Foundation. Si vous travaillez avec le framework Foundation dans Cocoa ou Cocoa Touch, l'intégralité de l'API NSString est disponible pour appeler toute valeur de chaîne que vous créez, en plus des fonctionnalités de chaîne décrites dans ce chapitre. Vous pouvez également utiliser une valeur String avec n'importe quelle API qui nécessite une instance NSString.
Cependant, cela ne semble pas fonctionner de cette façon.
Si vous essayez d'utiliser someString.containsString(anotherString), vous obtiendrez une erreur de temps de compilation qui indique 'String' does not contain a member named 'containsString'.
Donc, il vous reste quelques options, dont l'une consiste à relier explicitement votre Stringà Objective-C en utilisant les bridgeToObjectiveC()deux autres impliquent l'utilisation explicite d'un NSStringet la dernière implique de lancer le Stringvers unNSString
En créant un pont, vous obtiendriez:
var string = "hello Swift"
if string.bridgeToObjectiveC().containsString("Swift") {
println("YES")
}
En tapant explicitement la chaîne en tant que an NSString, vous obtiendrez:
var string: NSString = "hello Swift"
if string.containsString("Swift") {
println("YES")
}
Si vous en avez un String, vous pouvez initialiser une NSString à partir de celle-ci en utilisant NSString (string :):
var string = "hello Swift"
if NSString(string: string).containsString("Swift") {
println("YES")
}
Et enfin, vous pouvez convertir un existant Stringen un NSStringcomme ci-dessous
var string = "hello Swift"
if (string as NSString).containsString("Swift") {
println("YES")
}