Nehme ich verrückte Pillen? Direkt aus der Dokumentation:Wie Swift String zu Objective C NSString zu überbrücken?
"Swift verbindet automatisch zwischen dem String-Typ und der NSString-Klasse. Dies bedeutet, dass Sie überall, wo Sie ein NSString-Objekt verwenden, stattdessen einen Swift-String-Typ verwenden und die Vorteile beider Typen nutzen können - die Interpolation des Typs "String" und die Swift-designten APIs sowie die breite Funktionalität der NSString-Klasse. Aus diesem Grund sollten Sie die NSString-Klasse fast nie direkt in Ihrem eigenen Code verwenden müssen. Wenn Swift Objective-C-APIs importiert, werden alle NSString-Typen durch String-Typen ersetzt. Wenn Ihr Objective-C-Code eine Swift-Klasse verwendet, ersetzt das Importer alle String-Typen durch NSString in der importierten API.
String Überbrückung zu aktivieren, importieren Foundation nur „
Ich habe dies getan ... betrachten.
import Foundation
var str = "Hello World"
var range = str.rangeOfString("e")
// returns error: String does not contain member named: rangeOfString()
jedoch:
var str = "Hello World" as NSString
var range = str.rangeOfString("e")
// returns correct (2, 1)
Fehle ich etwas?
Eigentlich soll der erste Fall keinen Fehler zurück. Es sollte sein {Einige "1 .. <2"} –
Die zweite sollte zurück (1,1) –
Ich bin es nicht machen ... Es wird nicht funktionieren – Bren