Skip to content

Using Swift's Ternary Operator

Swift, Ternary Operator1 min read

The ternary operator in Swift is a concise way of writing conditional statements, allowing you to make decisions and assign values based on a condition. It provides a compact syntax that can enhance the readability of your code and simplify certain scenarios. In this article, we'll explore the usage of Swift's ternary operator and see some examples of how it can be applied effectively in iOS development.

Basic Syntax

The basic syntax of the ternary operator in Swift is as follows:

1condition ? valueIfTrue : valueIfFalse

The condition is evaluated as a Boolean expression. If the condition is true, the operator returns valueIfTrue; otherwise, it returns valueIfFalse. This operator is a concise alternative to using an if-else statement in situations where you need to assign a value based on a condition.

Example 1: Assigning Values

Let's imagine we are building a weather app, and we want to display whether it's sunny or cloudy based on a boolean variable isSunny. We can use the ternary operator to assign the appropriate string value:

1let weatherStatus = isSunny ? "Sunny" : "Cloudy"
2print(weatherStatus) // Output: Sunny (if 'isSunny' is true)

In this example, if isSunny is true, the value "Sunny" will be assigned to weatherStatus; otherwise, the value "Cloudy" will be assigned.

Example 2: Returning Values

The ternary operator is also handy when you need to return a value based on a condition. Consider a function that checks if a given number is positive or negative:

1func checkSign(of number: Int) -> String {
2 return number >= 0 ? "Positive" : "Negative"
5print(checkSign(of: 10)) // Output: Positive
6print(checkSign(of: -5)) // Output: Negative

In this case, if the number is greater than or equal to zero, the function returns "Positive", and if it's less than zero, it returns "Negative".

Example 3: Assigning Optional Values

The ternary operator can also be used to assign values to optionals based on a condition. Let's say we have an optional integer optionalNumber, and we want to assign a default value of 0 if the optional is nil:

1let number = optionalNumber ?? 0

This line of code uses the nil-coalescing operator (??) in combination with the ternary operator. If optionalNumber is not nil, its value is unwrapped and assigned to number. Otherwise, number is assigned the value 0.


Swift's ternary operator is a powerful tool for writing concise conditional statements in iOS development. It allows you to make decisions and assign values based on conditions in a compact and readable manner. By leveraging the ternary operator, you can write more expressive and efficient code. Start incorporating this operator into your projects to enhance the clarity and efficiency of your code!