ios - tres - ¿Cuál es el significado del signo de interrogación ''?'' en rápido?
signos de interrogacion y exclamacion para niños (3)
Puede usar
if
ylet
together para trabajar con valores que pueden faltar. Estos valores se representan comooptionals
. Un valoroptional
contiene un valor o contienenil
para indicar que falta el valor. Escriba un signo de interrogación (?) Después del tipo de valor para marcar el valor comooptional
.Si el valor opcional es
nil
, el condicional esfalse
y el código entre llaves se omite. De lo contrario, el valor opcional se desenvuelve y se asigna a la constante después delet
, lo que hace que el valor desenvuelto esté disponible dentro del bloque de código.
Extracto de: Apple Inc. "The Swift Programming Language". IBooks. https://itun.es/pk/jEUH0.l
Por ejemplo:
var optionalString: String? = "Hello"
optionalString == nil
var optionalName: String? = "John Appleseed"
var greeting = "Hello!"
if let name = optionalName {
greeting = "Hello, /(name)"
}
En este código, la salida sería Hello! John Appleseed
Hello! John Appleseed
. Y si establecemos el valor de optionalName
como nil
. El resultado condicional if
sería false
y el código dentro de ese sería salteado.
Esta pregunta ya tiene una respuesta aquí:
- ¿Qué es un valor opcional en Swift? 12 respuestas
En la programación rápida encontré algunos signos de interrogación con objetos.
var window: UIWindow?
¿Alguien puede explicar el uso de eso?
Los signos de interrogación después de un tipo hacen referencia a Optionals
, una forma en Swift que le permite indicar la posibilidad de que un valor esté ausente para cualquier tipo, sin la necesidad de constantes especiales.
Se usa en las mismas situaciones en las que explícitamente se return nil
en Objective-C, cuando no hay un objeto que se debe devolver, o para valores que no son objetos, constantes como NSNotFound
. Los opcionales proporcionan una forma consistente de lograr esto en todos los tipos de datos.
Desde el iBook proporcionado por Apple
Utiliza opcionales en situaciones donde un valor puede estar ausente. Una opción dice:
- Hay un valor, y es igual a x
o
- No hay un valor en absoluto
Aquí hay un ejemplo. El tipo String de Swift tiene un método llamado toInt, que intenta convertir un valor String en un valor Int. Sin embargo, no todas las cadenas se pueden convertir en un entero. La cadena "123" se puede convertir en el valor numérico 123, pero la cadena "hola, mundo" no tiene un valor numérico obvio para convertir a.
let possibleNumber = "123"
let convertedNumber = possibleNumber.toInt()
// convertedNumber is inferred to be of type "Int?", or "optional Int"
Como el método toInt puede fallar, devuelve un Int opcional, en lugar de un Int. Un Int opcional se escribe como Int ?, no Int. El signo de interrogación indica que el valor que contiene es opcional, lo que significa que podría contener algún valor Int, o podría no contener ningún valor. (No puede contener nada más, como un valor Bool o un valor String. Es un Int, o no es nada en absoluto).
Hay una sección completa en la referencia de lenguaje de iBook on Optionals, y se mencionan varias veces a lo largo del libro. Debe tener una visión completa, ya que es un concepto fundamental de la programación de Swift, y uno que no es frecuente en muchos otros idiomas.
el valor opcional del tipo.
Por as?
: la versión opcional del operador de conversión de tipo: as?
, significa as
uso para el tipo de conversión con podría ser opcional para lanzar.