Cómo ordenar un array de objetos personalizados por el valor de una propiedad en Swift?
¡Hola a todos! Soy nuevo en Swift y estoy escribiendo una pequeña aplicación para gestionar tareas. Tengo una estructura `Task` con campos `title`, `priority` (Int) y `dueDate` (Date). He creado un array de estas tareas:
```swift
struct Task {
let title: String
var priority: Int
var dueDate: Date
}
var tasks = [
Task(title: "Comprar víveres", priority: 3, dueDate: Date()),
Task(title: "Hacer el informe", priority: 1, dueDate: Date().addingTimeInterval(86400)),
Task(title: "Llamar al cliente", priority: 2, dueDate: Date().addingTimeInterval(172800))
]
```
Ahora quiero ordenar este array por prioridad (de mayor a menor) y luego por fecha (de más temprana a más tardía). He intentado usar `sorted(by:)` con un closure, pero obtengo errores de tipo o un orden incorrecto. Por ejemplo:
```swift
let sortedTasks = tasks.sorted(by: { $0.priority < $1.priority })
```
Esto ordena de forma ascendente, pero necesito descendente. ¿Y cómo añado una segunda condición de ordenación?
No answers yet.
Inicia sesión para dejar una respuesta