TGViewer
Мобильный трудоголик Мобильный трудоголик @hardworkerit · 1.65K subscribers
Post #206 1.17K
🔢 Swift: как сделать код лаконичнее с тернарным оператором.

Всем привет! Сегодня поговорим о тернарном операторе в Swift. Это одна из тех фич, которые делают код лаконичнее, но требуют аккуратного использования.

Тернарный оператор - это компактная замена конструкции if-else когда нужно просто выбрать одно из двух значений. Синтаксис такой:


<условие> ? <значение если true> : <значение если false>


Тернарный оператор идеально подходит для простых присваиваний:


// Без использования тернарного оператора
let accessLevelText: String
if user.isAdmin {
accessLevelText = "admin"
} else {
accessLevelText = "user"
}

// С использованием тернарного оператора
let accessLevelText = user.isAdmin ? "admin" : "user"



Тернарные операторы в SwiftUI.

В SwiftUI это вообще мастхэв для условного применения модификаторов:


Text("Привет!")
.foregroundColor(isError ? .red : .primary)



Вложенные тернарные операторы.

Не стоит использовать вложенные тернарные операторы:


let priceColor = isOnSale ? (isAlmostSoldOut ? .red : .orange) : .black


Такой код превращается в головоломку. Лучше использовать обычный if-else или вынести логику в вычисляемое свойство.


Альтернатива: If-expression.

В Swift 5.9 появились if выражения, которые часто читаются лучше чем тернарные операторы:


// Тернарный оператор
let status = isActive ? "online" : "offline"

// If-expression (более читаемо для сложных случаев)
let status = if isActive {
"online"
} else {
"offline"
}



💡 Вывод:

Тернарный оператор - это отличный инструмент, который экономит место и время. Но как с любым мощным инструментом, главное не переусердствовать и помнить о читаемости кода.


➡️ Подписаться на канал
Мобильный трудоголик
  • 👍 25
  • ❤ 10
  • 🔥 6
  • 🙏 1
  • 🤝 1
More from @hardworkerit
  1. Oct 6, 2026🔢 Swift 6.4: новая диагностика ретейн циклов. В Swift 6.4 появилась новая диагностика, ко…
  2. Oct 4, 2026🔢 SwiftUI: определение угла раскрытия iPhone Duo. В iOS 27.1 появился модификатор .onHing…
  3. Oct 2, 2026👣 Архитекторы, тестировщики и кодеры. Создаем мультиагентную команду Разработка с ИИ-аген…
  4. Oct 1, 2026🔢 Работа с Picture-in-Picture в iOS. Picture-in-Picture - системная функция iOS, которая…
  5. Sep 29, 2026🔢 Управление тулбарами на iPhone Duo. На iPhone Duo элементы управления навигацией, дейст…
  6. Sep 27, 2026🔢 Новые возможности Hashable в Swift 6.4 В Swift 6.4 добавили Hashable для нескольких тип…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →