Estoy tratando de usar Swift para hacer una llamada GET a una API REST y he intentado seguir numerosos tutoriales, pero no puedo resolverlo. O porque no puedo averiguar cómo traducir todo el Obj-C a Swift, o porque la mitad de los métodos n 'tales están en desuso. ¿Alguien sabe cómo realizar la llamada y analizar los datos JSON devueltos?
92
Respuestas:
Puedes hacer así:
fuente
Swift 5 y 4
fuente
Creo que la
NSURLSession
API encaja mejor en esta situación. Porque si escribe código rápido, el objetivo de su proyecto es al menos iOS 7 y iOS 7 es compatible conNSURLSession
api. De todos modos aquí está el códigofuente
// Handle result
podría ser:let resp = String( data:data!, encoding:NSUTF8StringEncoding)!
NSURLSessionConfiguration
. Creo que esta debería ser la respuesta aceptada.Aquí está el código completo para las solicitudes de API REST usando NSURLSession en swift
Para solicitud POST ...
Espero que funcione.
fuente
editado para swift 2
fuente
Swift 4: solicitud GET
No olvide configurar la configuración de seguridad de transporte de aplicaciones para agregar su dominio a las excepciones y permitir solicitudes http inseguras si llega a puntos finales sin usar HTTPS.
Puede utilizar una herramienta como http://www.json4swift.com/ para generar automáticamente sus asignaciones codificables a partir de sus respuestas JSON.
fuente
Swift 3.0
fuente
Rápido 4
Crea una aplicación usando Alamofire con el método Api Post
Instale el archivo de pod -pod 'Alamofire', '~> 4.0' para Swift 3 con Xcode 9
Cree la clase Webservices.swift, importe Alamofire
StoryBoard de diseño, vista de inicio de sesión
inserte el siguiente código para ViewControllerClass
Inserte el siguiente código para WebserviceClass
fuente
En swift 3.3 y 4. Creé la clase APIManager con dos métodos públicos. Simplemente pase el parámetro requerido, el nombre de la api y el tipo de solicitud. Obtendrá respuesta y luego la pasará al cierre.
fuente
rápido 4
USE ALAMOFIRE en nuestra aplicación por favor instale el archivo de pod
vaina 'Alamofire', '~> 4.0'
Podemos usar API para datos Json: https://swapi.co/api/people/
Entonces podemos crear una clase de redes para nuestro proyecto: networkingService.swift
Luego cree la clase NetworkingError.swift
Luego crea la clase Person.swift
Luego crea DetailVC.swift
Luego crea la clase GetPeopleResponse.swift
Entonces nuestra clase de controlador de vista
En nuestro StoryBoard
Por favor, conéctese con nuestra vista con otra usando segue con identificador -peopleToDetails
Utilice UITableView en nuestra primera vista
Utilice UIButton para obtener los datos
Utilice 9 etiquetas en nuestro DetailVc
fuente
Si está trabajando en Swift 3, la sintaxis cambia. El ejemplo aquí funcionó para mí y tiene una buena explicación de los pasos: https://grokswift.com/simple-rest-with-swift/
Este es el código de ese tutorial:
fuente
Llamada de API usando la clase de modelo
crear una variable y conectarse con la clase modelo
crear una clase de modelo Nuevo -> clase rápida
}
entonces podemos conectarnos con nuestros objetos de vista de tabla
fuente
fuente