Conexión de Pantalla de Publicación con Servicios de Platzi Tweets
Clase 30 de 52 • Curso de Desarrollo de Apps para iOS
Contenido del curso
- 4

Creación de la primera app iOS con Xcode: Login de Facebook
09:02 - 5

Navegación entre pantallas en iOS con UI Navigation Controller
05:49 - 6

Creación y conexión de múltiples storyboards en iOS
06:14 - 7

Conexiones IBOutlets y IBActions en iOS con Storyboards
11:00 - 8

Comparativa: Auto Layout vs SwiftUI en Desarrollo iOS
02:48 - 9

Auto Layout en iOS: Diseño Responsivo con Constraints y StackViews
11:10 - 10

Creación y configuración de tablas en iOS con Swift
12:49 - 11

Creación de celdas personalizadas en TableView de iOS
14:00 - 12

Persistencia de Datos en iOS con UserDefaults
11:09
- 19

Desarrollo de "Platzi Tweets": Red Social iOS Realista
02:24 - 20

Configuración Inicial de Proyecto iOS con CocoaPods
06:18 - 21

Diseño de Pantallas de Bienvenida, Inicio de Sesión y Registro en iOS
13:06 - 22

Controladores y validaciones en pantallas de registro y login
12:22 - 23

Validación y Conexiones en Login y Registro iOS
10:01 - 24
Modelado de Endpoints y JSON para API de PlatziTweets
01:44 - 25

Integración de Autenticación con API de Platzi Tweets
09:37 - 26

Desarrollo de Registro y Autenticación en Aplicaciones iOS
06:47 - 27

Diseño de Interfaces para Aplicaciones iOS: Creación de Celdas Personalizadas
12:37 - 28

Consumo de API para mostrar tweets en iOS
12:43 - 29

Diseño de Pantalla para Crear y Publicar Tweets en iOS
11:06 - 30

Conexión de Pantalla de Publicación con Servicios de Platzi Tweets
09:11 - 31

Borrado de Tweets Propios en iOS usando Swipe en UITableView
12:21 - 32

Uso de la Cámara del iPhone para Adjuntar Fotos en Posts
10:40 - 33
Conexión de Aplicaciones iOS con Firebase paso a paso
02:26 - 34

Configuración de iPhone y X-Code para ejecución de apps
04:45 - 35

Subida de Fotos a Firebase y Publicación en Twitter
13:38 - 36

Configuración de Post con Imagen en Firebase
03:13 - 37

Captura y Publicación de Videos en iOS con Firebase
09:17 - 38

Subida de Videos a Firebase e Integración en Posts de iOS
14:41 - 39

Configuración de Celdas para Reproducción de Videos en iOS
07:58 - 40

Acceso al GPS y almacenamiento de coordenadas en iOS
09:43 - 41

Integración de Mapas en iOS con Coordenadas de Usuario
11:29 - 42

Marcadores y Configuración de Mapas en iOS con Swift
14:11 - 43

Mejoras avanzadas en UI y UX para iOS Developer
01:28
¿Cómo conectar la pantalla de publicación de tweets con los servicios de Platzi Tweets?
Cuando desarrollamos aplicaciones móviles, es esencial conectar las interfaces de usuario con los servicios que gestionan la lógica del negocio. Esta tarea asegura que los datos fluyan correctamente entre la interfaz y el backend, permitiendo funcionalidades como la publicación de tweets en nuestra app de Platzi Tweets. Vamos a explorar cómo lograr esta conexión de manera efectiva.
¿Cómo realizar una solicitud de post?
Para guardar un post o publicación, primero debemos crear una solicitud al backend. Este proceso incluye:
-
Creación de una 'request': Debemos crear una instancia de
post requestusando los modelos predefinidos, donde cada publicación puede incluir texto, una URL de imagen, una URL de video y una ubicación. -
Definición del texto del tweet: El contenido de nuestro tweet provendrá del componente
post text view. Aquí es vital realizar una validación para evitar posts vacíos.let request = PostRequest(text: postTextView.text, imageURL: nil, videoURL: nil, location: nil)
¿Cómo se notifica al usuario la carga del tweet?
La experiencia del usuario mejora significativamente cuando se proporciona feedback visual del estado de una tarea en progreso, como la publicación de un tweet. En este caso:
-
Utilizamos
SVProgressHUDpara indicar el proceso de carga.SVProgressHUD.show()
¿Cómo se llama al servicio para publicar el tweet?
Una vez que tenemos la solicitud lista y la carga es visible para el usuario, procedemos a acceder al servicio que gestionará la publicación:
-
Uso de SimpleNetworking: Esto facilita la interacción con el servicio de backend.
SN.post(endpoint: Endpoints.post, model: request) { (response) in switch response { case .success(let post): // Post publicado correctamente case .failure(let errorResponse): // Error en la publicación } SVProgressHUD.dismiss() }
¿Cómo cerrar la pantalla y actualizar el feed?
Cuando el servicio confirma una publicación exitosa:
-
Cerrar pantalla actual: Se utiliza el método
dismisspara retornar al home después de un post exitoso.self.dismiss(animated: true, completion: nil) -
Actualizar el feed al regresar: Es importante que el feed se actualice automáticamente cuando el usuario regresa al home.
override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) self.fetchPosts() }
Ajustes para una actualización eficiente y continua
Es crucial que la pantalla principal se recargue adecuadamente después de publicar un tweet. Una solución efectiva es cambiar la modalidad de presentación de las pantallas:
- Cambiar esta presentación a
fullScreenasegura que el home se actualice adecuadamente cuando reaparece.
¿Qué deberíamos probar y ajustar?
Realizar pruebas exhaustivas del flujo de publicación ayudará a identificar y corregir cualquier error en la lógica o el comportamiento de la app, asegurando así una experiencia de usuario fluida.
¡Eso es todo! Espero que este proceso te resulte de gran interés y utilidad para tus proyectos. Anímate a experimentar y mejorar las funcionalidades en las aplicaciones que desarrolles. Y recuerda, la práctica hace al maestro. ¡Nos vemos en la próxima clase!