What is the `?` is or the `:` at the equation when coding in Swift

That's the ternary operator

Basically it's saying "set the corner radius of the background view to 0.4 times the frame's height if rounded, otherwise set the corner radius to 2".


Operators can be unary, binary, or ternary:

This is Ternary operators operate on three targets. Like C, Swift has only one ternary operator, the ternary conditional operator (a ? b : c).

From Apple Documents Basic Operators

Ternary Conditional Operator

The ternary conditional operator is a special operator with three parts, which takes the form question ? answer1 : answer2. It is a shortcut for evaluating one of two expressions based on whether question is true or false. If question is true, it evaluates answer1 and returns its value; otherwise, it evaluates answer2 and returns its value.

As per your question if isRound is true then corner radios is frame.size.height else it's 2.

As like if condition :

if(self.isRounded){
    backgroundView.layer.cornerRadius = frame.size.height * 0.4
}
else{
    backgroundView.layer.cornerRadius = 2.0
}

The ? and : are ternary operators. They are just shorthand for if statements.

An english translation of var a = b ? c : d where b is a boolean is set a equal to c if b is true, and to d if b is false.

So, for example,

backgroundView.layer.cornerRadius = self.isRounded ? frame.size.height * 0.4 : 2

can be translated into

if(self.isRounded){
    backgroundView.layer.cornerRadius = frame.size.height * 0.4
}
else{
    backgroundView.layer.cornerRadius = 2
}