Borrado de Tweets Propios en iOS usando Swipe en UITableView
Clase 31 de 52 • Curso de Desarrollo de Apps para iOS
Contenido del curso
Tu primera app en iOS
- 4

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

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

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

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

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

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

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

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

Persistencia de Datos en iOS con UserDefaults
11:09 min
Manejo de dependencias
Servicios Web
Proyecto: PlatziTweets
- 19

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

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

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

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

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

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

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

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

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

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

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

Borrado de Tweets Propios en iOS usando Swipe en UITableView
Viendo ahora - 32

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

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

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

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

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

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

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

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

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

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

Mejoras avanzadas en UI y UX para iOS Developer
01:28 min
En producción
iOS Avanzado
Hola, iOS Developer
¿Cómo implementar la funcionalidad de borrar tweets en iOS?
Desarrollar aplicaciones móviles implica comprender no solo cómo crear interfaces visuales, sino también cómo enriquecerlas con funcionalidades interactivas que respondan a las acciones del usuario. Imagina tener una app donde puedes gestionar tus tweets directamente desde una lista, borrándolos con un simple gesto. Vamos a explorar cómo lograrlo utilizando las funcionalidades nativas de iOS.
¿Cómo configurar el swipe para borrar tweets?
La idea es permitir que el usuario pueda deslizar una celda en la tabla para que aparezca una opción de borrar. Esto se logra implementando un UITableViewDelegate, algo esencial en el desarrollo iOS que ofrece métodos como editActionsForRowAt.
tableView.delegate = self
Al adoptar este enfoque, usaremos la acción de swipe como una manera intuitiva para interactuar con los tweets.
¿Cómo se define la acción de borrar?
Primero, definimos la acción dentro del método editActionsForRowAt. Esta acción estará configurada para que el usuario pueda eliminar el tweet:
let deleteAction = UITableViewRowAction(style: .destructive, title: "Borrar") { (action, indexPath) in
// Acción para borrar el tweet
}
return [deleteAction]
El estilo es crucial aquí. La opción de .destructive le da ese color rojo que inmediatamente le indica al usuario que dicha acción será irreversible.
¿Cómo implementamos el borrado de tweets?
Al borrar un tweet, debemos considerar dos aspectos: eliminarlo de nuestra fuente de datos y reflejar este cambio en la interfaz de usuario.
private func deletePost(at indexPath: IndexPath) {
let postId = dataSource[indexPath.row].id
// Lógica para llamar al servicio que borra el post
SimpleNetworking.delete(endpoint: endpoint) { result in
switch result {
case .success:
self.dataSource.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: .left)
case .failure(let error):
print("Error al borrar: \(error.localizedDescription)")
}
}
}
¿Cómo prevenimos el borrado de posts de otros usuarios?
Aquí está el reto: evitar que los usuarios borren tweets que no les pertenecen. Este control se logra en el método canEditRowAt.
func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
return dataSource[indexPath.row].author.email == userDefaults.email
}
Es importante almacenar el correo del usuario en UserDefaults para poder realizar esta comprobación fácil y rápidamente.
Desafío adicional: manejar el correo del usuario dinamicamente
Se recomienda trabajar con el almacenamiento del correo del usuario de manera dinámica para mejorar la seguridad y la experiencia del usuario en la app. Así, el código no tiene información quemada y responde mejor a los cambios de sesión.
En resumen, nuestra app se vuelve más rica y útil al integrar esta funcionalidad de borrado. Invito a todos a que prueben implementar estos métodos en sus propias aplicaciones, logrando un control más seguro y eficiente de la gestión de posts. No solo es un gran ejemplo de cómo las pequeñas acciones pueden mejorar la experiencia del usuario, sino también de cómo manejamos la lógica de la app para que sea lo más robusta posible.