Dari dokumen, tampaknya memanggil containsString()
String seharusnya berfungsi:
Tipe String Swift dijembatani dengan mulus ke kelas NSString Foundation. Jika Anda bekerja dengan kerangka kerja Foundation di Cocoa atau Cocoa Touch, seluruh NSString API tersedia untuk memanggil nilai String apa pun yang Anda buat, selain fitur String yang dijelaskan dalam bab ini. Anda juga dapat menggunakan nilai String dengan API apa pun yang membutuhkan instance NSString.
Namun, sepertinya tidak bekerja seperti itu.
Jika Anda mencoba menggunakan someString.containsString(anotherString)
, Anda akan mendapatkan kesalahan waktu kompilasi yang menyatakan 'String' does not contain a member named 'containsString'
.
Jadi, Anda memiliki beberapa opsi, salah satunya adalah secara eksplisit menjembatani Anda String
ke Objective-C dengan menggunakan bridgeToObjectiveC()
dua lainnya melibatkan secara eksplisit menggunakan NSString
dan yang terakhir melibatkan casting String
keNSString
Dengan menjembatani, Anda akan mendapatkan:
var string = "hello Swift"
if string.bridgeToObjectiveC().containsString("Swift") {
println("YES")
}
Dengan mengetik string secara eksplisit sebagai NSString
, Anda akan mendapatkan:
var string: NSString = "hello Swift"
if string.containsString("Swift") {
println("YES")
}
Jika Anda sudah ada String
, Anda dapat menginisialisasi NSString dari itu dengan menggunakan NSString (string :):
var string = "hello Swift"
if NSString(string: string).containsString("Swift") {
println("YES")
}
Dan akhirnya, Anda bisa melemparkan yang sudah ada String
ke NSString
seperti di bawah ini
var string = "hello Swift"
if (string as NSString).containsString("Swift") {
println("YES")
}