Em C / Objective-C é possível encontrar o valor mínimo e máximo entre dois números usando as macros MIN e MAX. O Swift não suporta macros e parece que não há equivalentes na linguagem / biblioteca base. Se um ir com uma solução personalizada, talvez baseada em genéricos como este um ?
97
let a : Int = 5
e Command + ClickInt
, verá coisas legais!a.
e percorrendo as possibilidades de preenchimento do Xcode ... mas 'Command + Click' é o ingresso!Como apontado, o Swift fornece
max
emin
funções.Um exemplo (atualizado para Swift 2.x).
fonte
Com o Swift 5,
max(_:_:)
emin(_:_:)
fazem parte das Funções Numéricas Globais .max(_:_:)
tem a seguinte declaração:Você pode usá-lo assim com
Int
s:Observe também que existem outras funções chamadas
max(_:_:_:_:)
emin(_:_:_:_:)
isso permite que você compare ainda mais parâmetros.max(_:_:_:_:)
tem a seguinte declaração:Você pode usá-lo assim com
Float
s:Com o Swift, no entanto, você não está limitado a usar
max(_:_:)
e seus irmãos com números. Na verdade, essas funções são genéricas e podem aceitar qualquer tipo de parâmetro que esteja em conformidade com oComparable
protocolo, seja eleString
,Character
ou um de seus customizadosclass
oustruct
.Assim, o seguinte código de amostra do Playground funciona perfeitamente:
Além disso, se você deseja obter o elemento min / max de elementos que estão dentro de uma
Array
, aSet
, aDictionary
ou qualquer outra sequência deComparable
elementos, você pode usar os métodos max () ou min () (veja esta resposta Stack Overflow para mais detalhes).fonte
A sintaxe do SWIFT 4 mudou um pouco:
e
Então, ao usá-lo, você deve escrever como neste exemplo:
Portanto, você obtém o valor de 0 a 100, não importa se é inferior a 0 ou superior a 100.
fonte
Int
s, então mude para Swift.max e de repente yay, as coisas estão melhores. Obrigado wm.p1us!Experimente isso.
fonte