versiones guia espaƱol descargar actualizar objective-c nsstring nsurl

objective c - guia - Obtenga partes de un NSURL en objetivo-c



qgis manual (2)

Este no es exactamente el tercer nivel, fíjate. Una URL se divide de esa manera:

  • el protocolo o esquema (aquí, http )
  • el delimitador ://
  • el nombre de usuario y la contraseña (aquí no hay ninguno, pero podría ser username:password@hostname )
  • el nombre de host (aquí, digg.com )
  • el puerto (que sería :80 después del nombre de dominio, por ejemplo)
  • el camino (aquí, /news/business/24hr )
  • la cadena del parámetro (todo lo que sigue a un punto y coma)
  • la cadena de consulta (eso sería si tuviera parámetros GET como ?foo=bar&baz=frob )
  • el fragmento (eso sería si tuvieras un ancla en el enlace, como #foobar ).

Una URL con todas las funciones se vería así:

http://foobar:[email protected]:8080/some/path/file.html;params-here?foo=bar#baz

NSURL tiene una amplia gama de NSURL . Puede consultarlos en la documentación de la clase NSURL , sección Acceso a las partes de la URL . Para una referencia rápida:

  • -[NSURL scheme] = http
  • -[NSURL resourceSpecifier] = (todo desde // hasta el final de la URL)
  • -[NSURL user] = foobar
  • -[NSURL password] = nicado
  • -[NSURL host] = example.com
  • -[NSURL port] = 8080
  • -[NSURL path] = /some/path/file.html
  • -[NSURL pathComponents] = @ ["/", "some", "path", "file.html"] (tenga en cuenta que la inicial / es parte de ella)
  • -[NSURL lastPathComponent] = file.html
  • -[NSURL pathExtension] = html
  • -[NSURL parameterString] = params-here
  • -[NSURL query] = foo = barra
  • -[NSURL fragment] = baz

Lo que querrás, sin embargo, es algo como eso:

NSURL* url = [NSURL URLWithString:@"http://digg.com/news/business/24hr"]; NSString* reducedUrl = [NSString stringWithFormat: @"%@://%@/%@", url.scheme, url.host, url.pathComponents[1]];

Para su URL de ejemplo, lo que parece querer es el protocolo, el host y el primer componente de ruta. (El elemento en el índice 0 en la matriz devuelta por -[NSString pathComponents] es simplemente "/", por lo que querrá el elemento en el índice 1. Las otras barras se descartan).

Tengo un NSString con el valor de

http://digg.com/news/business/24hr

¿Cómo puedo obtener todo antes del 3er nivel?

http://digg.com/news/


Playground ofrece una forma interactiva de ver esto en acción. Espero que puedan disfrutar haciendo lo mismo, una forma divertida de aprender NSURL un tema importante en iOS.