Avatar ·

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?