0Pricing
Swift Academy · Урок

Логические методы и переключение значений

Используйте toggle() и методы, возвращающие логическое значение.

«Логические методы и переключение значений» — бесплатный урок Swift Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 4 уроков всего.

У логического типа тоже есть методы

В Swift даже Bool — это тип с полезными методами. Самый распространённый из них — toggle(): он меняет значение на противоположное непосредственно.

var isOn = false
isOn.toggle()
print(isOn)

toggle() и ручное инвертирование

До появления toggle() программисты писали isOn = !isOn. Версия с методом короче и избавляет от повторения имени переменной.

var darkMode = true
darkMode.toggle()
print(darkMode)
darkMode.toggle()
print(darkMode)

Для toggle() требуется изменяемая переменная

Поскольку toggle() изменяет значение, логическое значение должно храниться в var. Вызов метода для let приводит к ошибке компиляции.

var flagged = false
for _ in 1...3 {
    flagged.toggle()
}
print(flagged)

Методы, возвращающие логическое значение

Многие типы предоставляют элементы, возвращающие логическое значение. Свойство isEmpty у строки сообщает, нет ли в ней символов.

let name = ""
print(name.isEmpty)
let city = "Paris"
print(city.isEmpty)

isEmpty у коллекций

У массивов и словарей тоже есть isEmpty. Это понятнее и быстрее, чем сравнивать count с нулём.

let scores: [Int] = []
print(scores.isEmpty)
let items = [1, 2, 3]
print(items.isEmpty)

Метод contains возвращает логическое значение

Метод contains проверяет, содержит ли коллекция заданный элемент, и возвращает true или false.

let fruits = ["apple", "pear", "kiwi"]
print(fruits.contains("pear"))
print(fruits.contains("mango"))

Префикс и суффикс строки

Строки предоставляют методы hasPrefix и hasSuffix, оба возвращают логическое значение. Они удобны для простых проверок текста.

let file = "report.pdf"
print(file.hasSuffix(".pdf"))
print(file.hasPrefix("report"))

Использование логических методов в условии

Поскольку эти методы возвращают логическое значение, их можно напрямую использовать в условии if.

let input = ""
if input.isEmpty {
    print("Please enter a value")
} else {
    print("Thanks")
}

Отрицание результата логического метода

Сочетайте ! с логическим методом, чтобы выразить отрицание. Например: «если список не пуст».

let cart = ["book"]
if !cart.isEmpty {
    print("Ready to checkout")
}

allSatisfy

Метод allSatisfy возвращает true только в том случае, если каждый элемент проходит заданную вами проверку.

let ages = [20, 34, 19, 41]
let allAdults = ages.allSatisfy { $0 >= 18 }
print(allAdults)

Объединение логических результатов

Несколько вызовов, возвращающих логическое значение, можно объединить логическими операторами в одно решение.

let email = "user@example.com"
let valid = !email.isEmpty && email.contains("@")
print(valid)

Быстрая проверка

Проверьте методы, возвращающие логическое значение.

Итоги: логические методы и инвертирование

Используйте toggle(), чтобы изменить значение переменной логического типа на противоположное непосредственно, а также применяйте элементы, возвращающие логическое значение, например isEmpty, contains, hasPrefix и allSatisfy, для создания выразительных условий.

var visible = false
visible.toggle()
let tags = ["new"]
print(visible && !tags.isEmpty)

Часто задаваемые вопросы

Урок «Логические методы и переключение значений» бесплатный?

Да — полный текст урока «Логические методы и переключение значений» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 4 уроков всего.

Чему я научусь в уроке «Логические методы и переключение значений»?

Используйте toggle() и методы, возвращающие логическое значение. Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Swift Academy?

Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Логические методы и переключение значений»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Swift Academy?

Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Значения Bool и выражения
  2. Тернарный условный оператор
  3. Как избегать вложенных тернарных операторов
  4. Логические методы и переключение значений
← Назад к Swift Academy