Swift 3: Integración con tecnologías backend

Subir datos a nuestro servidor

Prueba ahora LinkedIn Learning sin cargo y sin compromiso.

Prueba gratis Mostrar modalidades de suscripción
En este video conectaremos nuestro formulario hecho en iOS con una instancia de nuestra clase usuario para, después, poder hacer la petición de creación a nuestro servicio. Esto nos permitirá subir la información en formato JSON y posteriormente volver a serializar la respuesta.

Transcripción

Ahora aprenderemos cómo subir datos de nuestra aplicación al servidor. Esto lo vamos a hacer con el mismo formato que hemos manejado para los otros servicios. Básicamente, envolveremos nuestro objeto en un JSON, y lo subiremos a través de una petición REST El resultado lo parsearemos, lo convertiremos en un objeto de dominio, y lo agregaremos a nuestra lista de usuarios. Lo primero que vamos a hacer es revisar en dónde está el formulario. En el archivo “Main.storyboard”, si recuerdas, aquí tenemos el botón "Sign up". Yo reacomodé esta vista para poder tener "Auto layout" en los componentes pero eso es lo de menos, lo que necesitamos es este botón. Este botón debe estar ligado a alguna referencia de una vista, y si recuerdas, en el archivo "LoggedIn" vas a encontrar un formulario en donde nosotros podemos capturar toda la información del usuario y guardarla. Así que simplemente vamos a hacer una referencia a él. Voy a darle clic aquí arriba en el "View Controller", y en donde puedo ver la información de la identidad, me voy a dar cuenta que le voy a colocar aquí una palabra que dice "UserForm". Básicamente porque este es un "User Form View Controller". También creé el archivo "UserFormViewController" que está aquí, está hecho en “Swift”, y este va a tener todas las referencias a los campos para poder obtener los valores después. Una vez que ya tengamos la referencia, cuando el usuario presione el botón "Save" voy a ejecutar esta función. ¿Qué es lo que hace esta función? Bueno pues, primero crea una instancia de tipo usuario, con el nombre que venga en el "nameField", le va a colocar la edad del "ageSlider" y después a mano irá construyendo todo el objeto con el país, el "user name" y el "password". Una vez que ya tenemos esto, "newUser" va a tener un nuevo método. Este método se va llamar "Create". Antes de entrar a ver qué es lo que hace este bloque, pasemos al archivo "UserService.Swift". Aquí vas a encontrarte que le hice algunos cambios. Primero, hice una constante estática llamada "Hearders", para poder estar compartiendo los encabezados. Estos "Headers" los voy a colocar tanto en la función de "Index" como en la función de "Create". Ahora, también puedes hacer lo mismo con las direcciones, pero dependiendo de cuántos elementos vayas a tener es la cantidad de URLs que vas a generar. Para nuestro caso, en el método "Create", vamos a recibir un bloque, un "closure" que sea de tipo "user". Es eso que le vamos a regresar cuando nosotros acabemos. Entonces, "Alamofire" va a utilizar un método un poquito más largo que es en donde nosotros le indicamos qué tipo de verbo HTTP vamos a utilizar, cuáles son los parámetros, cuál es el "encoding" y los encabezados. Básicamente esta es la parte más importante. "Self.asDictionary". "asDictionary" es un "StoredProperty". Este "StoredProperty" lo que hace es regresarme un diccionario con cada uno de los valores que yo tengo en mi objeto, como nombre, edad, país, verificado, "username" y "password". Básicamente aquí en parámetros yo solo necesito enviar un diccionario a mi servicio, indicarle que el “encoding”, que la codificación de estos parámetros es de JSON y con eso voy a poder enviar la petición. Recordemos que la repuesta en JSON va a ser similar, en vez de ser un arreglo de usuarios, simplemente va a ser un objeto usuario. Así que aquí en "Response.result.value" lo voy a castear a un diccionario de "string" con "AnyObject". Ahí voy a generar dentro del arreglo de "community", que tenemos que es un arreglo estático, le voy a hacer el "append" de este nuevo usuario. Y aquí voy a crear un nuevo usuario, a partir del diccionario que me entregue el servicio. Al final, voy a regresar el bloque que me están pasando y le voy a dar mi instancia, la instancia en la que yo ya estoy creado por completo. Ahora sí. Ya que tengo el método "Create" lo que vamos a hacer... aquí en el “FormViewController" es que voy simplemente a regresarlo, si todo salió bien, entonces lo voy a regresar en la navegación para que me lleve otra vez al formulario de "Login”. Así que voy a correr mi aplicación. Muy bien. Le voy a dar clic aquí en donde dice "Sign up", me va salir mi formulario. Aquí voy a colocar algunos datos de prueba. Le voy a mover el "slider". En país, MX. Y en "password" le voy a escribir algunos valores aleatorios. Le voy a dar clic en el botón "Save" y si todo sale bien me regresa a mi pantalla de "Login". Voy a darle clic en el botón de "Login" y me voy a ir a la parte inferior en donde está el tap de "Friends". Si te fijas, aquí ya tengo todos los elementos necesarios creados por el servicio. Lo que hice fue tomarlos, generar el JSON y subirlos. Si yo reviso mi cliente en Postman, me voy a dar cuenta que cuando yo estoy generando un nuevo usuario es básicamente lo que estoy haciendo, generando en un formato JSON llaves y valores, los estoy colocando a través del método "Post", en una URL que yo haya especificado y con los "headers" necesarios. Si yo pido todos los usuarios, me voy a dar cuenta que tengo todos los que yo ya he creado. Conforme yo vaya generando más elementos es cómo yo voy a poder almacenarlos en mi base de datos y poder estar haciendo las relaciones que yo pueda necesitar. Es muy importante que tengas muy claro cómo van y vienen los datos. Una cosa son las peticiones "Get", otra cosa son las peticiones "Post" y otras dependerán del tipo de verbo HTTP que estés utilizando. Si te fijas es muy sencillo estar utilizando todo esto con "AlamoFire" y nos va a ayudar muchísimo a terminar nuestra aplicación.

Swift 3: Integración con tecnologías backend

Aprende a vincular tus aplicaciones web creadas con Swift 3 con el servidor, comienza a enviar información entre ambos y aprovecha esto al máximo dentro de tus sistemas.

3:08 horas (27 Videos)
Actualmente no hay comentarios.
 

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.