validate property para open from description data ios swift

ios - property - ¿Cadena con contenido de URL?



validate open graph tags (5)

Aquí lo que funcionó para mí: (No hay más argumento de error)

var g_home_url = try! String(contentsOfURL: NSURL(string: url_string)!, encoding: NSUTF8StringEncoding)

o si quieres manejar el error:

do { var g_home_url = try String(contentsOfURL: NSURL(string: url_string)!, encoding: NSUTF8StringEncoding) } catch { print(error) }

Así que antes de descargar la actualización reciente, el siguiente código funcionó para mí:

var g_home_url = String.stringWithContentsOfURL(NSURL(string: url_string), encoding: NSUTF8StringEncoding, error: nil) // Gives me an error: "String.Type does not have a member names stringWithContentsOfUrl"

Estoy confundido. ¿Cuál es la forma correcta de obtener el siguiente método de objetivo-c en forma rápida?

NSString * g_home_url = [[NSString alloc] initWithContentsOfURL:[NSURL URLWithString:home_url] encoding:NSUTF8StringEncoding error:nil];


En este momento (Swift 4.1.2), la única forma de enviar una solicitud HTTP-get desde Ubuntu Linux es: https://github.com/dmcyk/SwiftyCurl

import Foundation import SwiftyCurl var request = cURLRequest(url: URL(string: "https://path.to/url/")!, method: .get) let connection = cURLConnection(useSSL: true) do { let res = try connection.request(request) if let body: String = res.body() { print(body) } } catch { prin(error) }


Para Swift 3 tendrás que usar String(contentsOf:encoding:) . Se tira

do { var content = try String(contentsOf:URL(string: "http://your-URI-here")!) } catch let error { // Error handling }


Para Swift 4 han cambiado la codificación de cadena. Así que ahora será,

do { var g_home_url = try String(contentsOfURL: URL.init(string: url_string)!, encoding: String.Encoding.utf8) } catch { print(error) }


Utilice el -initWithContentsOfURL:encoding:error: instance en lugar del +stringWithContentsOfURL:encoding:error: class +stringWithContentsOfURL:encoding:error: initializer.

var g_home_url = String(contentsOfURL: NSURL(string: url_string)!, encoding: NSUTF8StringEncoding, error: nil)

No tengo idea de si los inicializadores de conveniencia de clase ahora no están soportados en Swift, pero tendría sentido, ya que eran solo taquigrafías para la placa de caldo de init-alloc, que no existe en Swift.