Тип Optionals в Swift 4

by moiseevrus

Добрый день, дорогие читатели моего журнала rusinfoproduct.ru. Cегодня новый урок по Свифту и будет интересно!

Swift 4  имеет тип Optionals, который обрабатывает отсутствие значения. Он выглядит так  “есть значение, и оно равно х” или “нет значения”.

Опциональный тип, на самом деле один из новых супермощных достижений в Swift 4. Он имеет два возможных значения, None и Some(T), где T – связанное значение правильного типа данных, доступного в Swift 4.

Вот optional целочисленное объявление −

var perhapsInt: Int?

Вот  объявление строки в optional −

var perhapsStr: String?
Приведенное выше объявление эквивалентно явной инициализации его к нулю, что означает отсутствие значения
var perhapsStr: String? = nil
Давайте рассмотрим следующий пример, чтобы понять, как optionals работает в Swift 4 −

var myString:String? = nil

if myString != nil {
print(myString)
} else {
print(“myString has nil value”)
}

Когда мы запускаем вышеуказанную программу с помощью playground, мы получаем следующий результат −

myString has nil value

Optionals похож на использование nil в Objective-C, но он работает для любого типа, а не только для классов.

Принудительное Разворачивание

Если переменная определена как optionals, то для получения значения из этой переменной ее необходимо развернуть. Это просто означает поставить восклицательный знак в конце переменной.

Давайте возьмем простой пример −

var myString:String?

myString = “Hello, Swift 4!”

if myString != nil {
print(myString)
} else {
print(“myString has nil value”)
}

Когда мы запускаем вышеуказанную программу с помощью playground, мы получаем следующий результат −

Optional(“Hello, Swift 4!”)

Теперь давайте применим разворачивание, чтобы получить правильное значение переменной −

var myString:String?

myString = “Hello, Swift 4!”

if myString != nil {
print( myString! )
} else {
print(“myString has nil value”)
}

Когда мы запускаем вышеуказанную программу с помощью playground, мы получаем следующий результат.

Hello, Swift 4!

Автоматическое разворачивание

Можно объявить дополнительные переменные с помощью восклицательного знака вместо вопросительного знака. Такие опциональные переменные будут развернуты автоматически, и вам не нужно использовать восклицательный знак в конце переменной, чтобы получить назначенное значение. Давайте возьмем простой пример −

var myString:String!
myString = “Hello, Swift 4!”

if myString != nil {
print(myString)
} else {
print(“myString has nil value”)
}

Запускаем программу и получаем наш результат –

Hello, Swift 4!

Привязка в optionals

Используйте  привязку, чтобы узнать, содержит ли опциональное значение, и если да, чтобы сделать это значение доступным как временная константа или переменная.

Опциональная привязка для оператора if выглядит следующим образом −

if let constantName = someOptional {
statements
}

Давайте друзья возьмем простой пример, чтобы понять использование привязки −

var myString:String?
myString = “Hello, Swift 4!”

if let yourString = myString {
print(“Your string has – \(yourString)”)
} else {
print(“Your string does not have a value”)
}

Нажимаем на RUN и получаем следующий код –
Your string has – Hello, Swift 4!

На сегодня это все! Следите за новым выпуском журнала).

You may also like

Leave a Comment