ios - enum - swift struct inheritance
Cómo averiguar el valor máximo para Int en Swift (4)
Quiero entender cómo acceder al tipo "struct" de Int. Cuando hice clic con el botón secundario en Cd, me llevó a esta clase, quiero averiguar cuál es el valor máximo que puede contener. ¿Hay alguna manera de extraer de una de estas propiedades? ¿Qué es máximo y mínimo en esta estructura?
struct Int : SignedInteger {
var value: Builtin.Word
init()
init(_ v: Builtin.Word)
init(_ value: Int)
static func convertFromIntegerLiteral(value: Int) -> Int
typealias ArrayBoundType = Int
func getArrayBoundValue() -> Int
static var max: Int { get }
static var min: Int { get }
}
"Puede acceder a los valores mínimo y máximo de cada tipo de entero con sus propiedades mínima y máxima:
let minValue = UInt8.min // minValue is equal to 0, and is of type UInt8
let maxValue = UInt8.max // maxValue is equal to 255, and is of type UInt8
Los valores de estas propiedades son del tipo de tamaño apropiado (como UInt8 en el ejemplo anterior) y, por lo tanto, se pueden usar en expresiones junto con otros valores del mismo tipo ".
Extracto de: Apple Inc. "The Swift Programming Language". IBooks. https://itun.es/in/jEUH0 .
Prueba esto en Swift 3:
let value = Int.max
Puede acceder a estas propiedades estáticas como se sugiere en otras respuestas.
Veo en algunos comentarios que la gente se pregunta por qué no puede acceder a ellos como variables de instancia.
Esto es como preguntar "¿cuál es el valor máximo de 5?" y esperando una respuesta sensata.
Uno de los usos principales de estas variables es proteger contra desbordamientos de enteros .
Algo similar a "si agrego algo a este entero que lo hace más grande que Int.max, es decir, desencadena un desbordamiento" y actúa en consecuencia.
Más sobre cómo Apple aborda el problema del desbordamiento de enteros here .
Puede acceder a los valores mínimo y máximo de cada tipo de entero con sus propiedades mín. Y máx .:
let minValue = UInt8.min // minValue is equal to 0, and is of type UInt8
let maxValue = UInt8.max // maxValue is equal to 255, and is of type UInt8
Los valores de estas propiedades son del tipo de tamaño apropiado (como UInt8 en el ejemplo anterior) y, por lo tanto, se pueden usar en expresiones junto a otros valores del mismo tipo.