strings empty characters string swift stringwithformat

empty - Cómo anteponer url con http:// usando stringWithFormat en Swift



swift compare strings (3)

Estoy construyendo un navegador personalizado usando UIWebView.

Caso de uso: el usuario ingresa "www.abc.com" en la barra de direcciones. Error a continuación lanzado:

Error Domain=WebKitErrorDomain Code=102 "Frame load interrupted" UserInfo=0x19860770 {NSErrorFailingURLKey=file://www.abc.com, NSErrorFailingURLStringKey=file://www.abc.com, NSLocalizedDescription=Frame load interrupted}

Motivo: la URL debe ir precedida por "http: //"

Me gustaría usar el método stringWithFormat de NSString, pero parece que no puedo obtener la sintaxis correcta. En Objective-C, tenemos;

NSString* modifiedURLString = [NSString stringWithFormat:@"http://%@", urlString];

En Swift, el método no está ahí?

var modifiedURLString: String = String(`stringWithFormat not here?!...`)

Entonces intenté mezclar Objective C con Swift:

var modifiedURLString: NSString = [NSString stringWithFormat not here?!...

Entonces intenté directamente Objective-C:

NSString * modifiedURLString = [NSString stringWithFormat: @ "http: //", urlString];

Gracias por tu ayuda. Atentamente, Keith


El equivalente de formatWithString de NSString: es simplemente "format:", como se muestra a continuación, pero no hay una necesidad real de hacerlo para el ejemplo que ha dado. Simplemente agregue cadenas, o use interpolación ...

let urlString = "www.abc.com" var modifiedURLString = NSString(format:"http://%@", urlString) as String // or just modifiedURLString = String(format:"http://%@", urlString) // or let simpler = "http://" + urlString // or use string interplotaion let simplest = "http:///(urlString)"


Puedes usar interpolación de cadenas:

let site = "www.abc.com" let url = "http:///(site)"


Solo por el hecho de estar completo aquí (aunque de una cuarta forma), aquí están sus opciones:

1: Forma rápida de usar el stringWithFormat de NSString:

let url = NSString(format: "http://%@", aSuffix)

2: Aproveche la capacidad de Swift para concatenar cadenas con el operador "+".

let url = "http://" + aSuffix

3: Utilice el método stringByAppendingString() de stringByAppendingString() .

let url = "http://" url.stringByAppendingString(aSuffix)

4: Interpolación de cuerdas.

let url = "http:///(aSuffix)"