En C / Objective-C es posible encontrar el valor mínimo y máximo entre dos números usando macros MIN y MAX. Swift no admite macros y parece que no hay equivalentes en la biblioteca de idioma / base. ¿Hay que ir con una solución personalizada, tal vez sobre la base de los genéricos como este uno ?
97

let a : Int = 5y presionas Comando + clicInt, ¡podrás ver cosas interesantes!a.y desplazándome por las posibilidades de finalización de Xcode ... ¡pero 'Command + Click' es el boleto!Como se señaló, Swift proporciona
maxyminfunciona.Un ejemplo (actualizado para Swift 2.x).
fuente
Con Swift 5
max(_:_:)ymin(_:_:)son parte de las funciones numéricas globales .max(_:_:)tiene la siguiente declaración:Puedes usarlo así con
Ints:También tenga en cuenta que hay otras funciones llamadas
max(_:_:_:_:)ymin(_:_:_:_:)que le permite comparar aún más parámetros.max(_:_:_:_:)tiene la siguiente declaración:Puedes usarlo así con
Floats:Sin embargo, con Swift, no está limitado al uso
max(_:_:)y sus hermanos con números. De hecho, esas funciones son genéricas y pueden aceptar cualquier tipo de parámetro que se ajuste alComparableprotocolo, ya seaString,Characteruno de sus personalizadosclassostruct.Por lo tanto, el siguiente código de muestra de Playground funciona perfectamente:
Además, si desea obtener el elemento min / max de los elementos que están dentro de una
Array, aSet, aDictionaryo cualquier otra secuencia deComparableelementos, puede usar los métodos max () o min () (consulte esta respuesta de Stack Overflow para obtener más información) detalles).fuente
La sintaxis de SWIFT 4 cambió un poco:
y
Entonces, cuando lo use, debe escribir como en este ejemplo:
Entonces obtienes el valor de 0 a 100, no importa si está por debajo de 0 o por encima de 100.
fuente
Ints, cámbielo a Swift.max y de repente ¡sí !, las cosas están mejor. ¡Gracias wm.p1us!Prueba esto.
fuente