Close Menu
geekfence.comgeekfence.com
    What's Hot

    Scenario Planning for AI and the “Jobless Future” – O’Reilly

    April 20, 2026

    AI-native 6G will converge connectivity, compute and sensing

    April 20, 2026

    Agentic AI costs more than you budgeted. Here’s why.

    April 20, 2026
    Facebook X (Twitter) Instagram
    • About Us
    • Contact Us
    Facebook Instagram
    geekfence.comgeekfence.com
    • Home
    • UK Tech News
    • AI
    • Big Data
    • Cyber Security
      • Cloud Computing
      • iOS Development
    • IoT
    • Mobile
    • Software
      • Software Development
      • Software Engineering
    • Technology
      • Green Technology
      • Nanotechnology
    • Telecom
    geekfence.comgeekfence.com
    Home»iOS Development»Ternary operator in Swift explained – Donny Wals
    iOS Development

    Ternary operator in Swift explained – Donny Wals

    AdminBy AdminDecember 8, 2025No Comments3 Mins Read0 Views
    Facebook Twitter Pinterest LinkedIn Telegram Tumblr Email
    Ternary operator in Swift explained – Donny Wals
    Share
    Facebook Twitter LinkedIn Pinterest Email


    The ternary operator is one of those things that will exist in virtually any modern programming language. When writing code, a common goal is to make sure that your code is succinct and no more verbose than it needs to be. A ternary expression is a useful tool to achieve this.

    What is a ternary?

    Ternaries are essentially a quick way to write an if statement on a single line. For example, if you want to tint a SwiftUI button based on a specific condition, your code might look a bit as follows:

    struct SampleView: View {
      @State var username = ""
    
      var body: some View {
        Button {} label: {
          Text("Submit")
        }.tint(username.isEmpty ? .gray : .red)
      }
    }

    The line where I tint the button contains a ternary and it looks like this: username.isEmpty ? .gray : .red. Generally speaking, a ternary always has the following shape ? : . You must always provide all three of these “parts” when using a ternary. It’s basically a shorthand way to write an if {} else {} statement.

    When should you use ternaries?

    Ternary expressions are incredibly useful when you’re trying to assign a property based on a simple check. In this case, a simple check to see if a value is empty. When you start nesting ternaries, or you find that you’re having to evaluate a complex or long expression it’s probably a good sign that you should not use a ternary.

    It’s pretty common to use ternaries in SwiftUI view modifiers because they make conditional application or styling fairly straightforward.

    That said, a ternary isn’t always easy to read so sometimes it makes sense to avoid them.

    Replacing ternaries with if expressions

    When you’re using a ternary to assign a value to a property in Swift, you might want to consider using an if / else expression instead. For example:

    let buttonColor: Color = if username.isEmpty { .gray } else { .red }

    This syntax is more verbose but it’s arguably easier to read. Especially when you make use of multiple lines:

    let buttonColor: Color = if username.isEmpty { 
      .gray 
    } else {
      .red
    }

    For now you’re only allowed to have a single expression on each codepath which makes them only marginally better than ternaries for readability. You also can’t use if expressions everywhere so sometimes a ternary just is more flexible.

    I find that if expressions strike a balance between evaluating longer and more complex expressions in a readable way while also having some of the conveniences that a ternary has.



    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email

    Related Posts

    DTCoreText 2.0 | Cocoanetics

    April 20, 2026

    How to launch a macOS app at login?

    April 19, 2026

    ios – Xcode can’t find headers file from added frameworks

    April 18, 2026

    Self sizing cells with rotation support

    April 14, 2026

    swift – Flutter iOS: USSD code with * and # not launching in phone dialer (works on Android)

    April 13, 2026

    UICollectionView cells with circular images plus rotation support

    April 9, 2026
    Top Posts

    Understanding U-Net Architecture in Deep Learning

    November 25, 202530 Views

    Redefining AI efficiency with extreme compression

    March 25, 202625 Views

    Hard-braking events as indicators of road segment crash risk

    January 14, 202625 Views
    Don't Miss

    Scenario Planning for AI and the “Jobless Future” – O’Reilly

    April 20, 2026

    We all read it in the daily news. The New York Times reports that economists…

    AI-native 6G will converge connectivity, compute and sensing

    April 20, 2026

    Agentic AI costs more than you budgeted. Here’s why.

    April 20, 2026

    Toptal Alternatives to Hire Developers in Europe: What Hiring Speed Actually Costs Your Product

    April 20, 2026
    Stay In Touch
    • Facebook
    • Instagram
    About Us

    At GeekFence, we are a team of tech-enthusiasts, industry watchers and content creators who believe that technology isn’t just about gadgets—it’s about how innovation transforms our lives, work and society. We’ve come together to build a place where readers, thinkers and industry insiders can converge to explore what’s next in tech.

    Our Picks

    Scenario Planning for AI and the “Jobless Future” – O’Reilly

    April 20, 2026

    AI-native 6G will converge connectivity, compute and sensing

    April 20, 2026

    Subscribe to Updates

    Please enable JavaScript in your browser to complete this form.
    Loading
    • About Us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • Terms and Conditions
    © 2026 Geekfence.All Rigt Reserved.

    Type above and press Enter to search. Press Esc to cancel.