Swift provides a special type of statement referred to as "guard" statement. A guard statement is capable to transfer the flow of control of a program if a certain condition(s) aren't met within the program. Or we can say, if a condition expression evaluates true, then the body of the guard statement is not executed. In other words, the control flow of the program doesn't go inside the body of the guard statement. Otherwise, if the condition evaluates false then the body of the guard statement is executed.
Syntax:
guard condition else {
// body
}
The value of any condition must be of Boolean type. The condition may be an optional binding declaration. When a value is assigned to a variable from an optional binding declaration in a guard statement, the condition can be used for the rest of the guard statement’s enclosing scope.
The else clause of a guard statement is necessary, and must either call a function with the no return type or transfer program control outside the guard statement’s enclosing scope using one of the following statements:
Guard statement in a loop
Guard statements can be used inside a loop. But we use the below control statements only while dealing with a guard statement in a loop,
- continue: It skips the current iteration at the moment and move to the next iteration if exists.
- break: It stops the iteration completely and the flow of control comes out of the loop body.
Let us discuss them one by one in detail:
Guard statement with continue control statement:
A guard statement with a "continue" control statement has the following form,
loop {
// statement 1
guard condition else {
// body
continue
}
// statement 2
}
Here, the loop is one of the loops i.e. for, while
If the condition expression of the guard statement evaluates true then the body of the guard statement doesn't get executed and the control flow of the program would directly come at statement 2 and this statement would be executed as soon as the condition expression evaluates true.
Otherwise, if the condition expression of the guard statement evaluates false then the body of the guard statement gets executed and the control flow of the program goes inside the guard statement and its body will get executed. Since we have used the "continue" statement just after executing all statements of the body hence this "continue" statement also gets executed. Due to this "continue" statement, the current iteration would be skipped at the moment due to which statement 2 would not get executed and the flow control of the program goes to the next iteration if exists.
Example:
In the below program we are iterating from num = 1 to num = 10 using a while loop. We are using a guard statement while the condition expression is "num % 5 == 0", which simply means that num is divisible by 5. Now for num = 1, the body of the guard statement would be executed as num is not divisible by 5. On reaching inside the guard statement, firstly num would be incremented by one (now num has become 2) but since we have the "continue" control statement just after it, so the current iteration of the while loop would be skipped at the moment and the next iteration would be executed. This process will repeat itself except when the value of num reaches 5 and 10. In these cases the condition expression evaluates true and the body of the guard statement would be skipped and the flow control of the program would land upon the print statement and the "num" will get incremented by one.
Swift
// Swift program to demonstrate the working of
// guard statement inside a loop and using
// continue control statement
// Initializing variable
var num = 1
print("Natural numbers from 1 to 10 which are divisible by 5 are: \n")
// Iterating from 1 to 10
while (num <= 10)
{
// Guard condition to check the divisibility by 5
// If num is not divisible by 5 then execute the
// body of the guard statement
guard num % 5 == 0 else
{
num = num + 1
continue
}
// Print the value represented by num
print(num)
// Increment num by one
num = num + 1
}
Output:
Natural numbers from 1 to 10 which are divisible by 5 are:
5
10
Guard statement with break control statement:
A guard statement with a "break" control statement has the following form,
loop {
// statement 1
guard condition else {
// body
break
}
// statement 2
}
Here, the loop is one of the loops i.e. for, while.
If the condition expression of the guard statement evaluates true then the body of the guard statement doesn't get executed and the control flow of the program would directly come at statement 2 and this statement would be executed as soon as the condition expression evaluates true.
Otherwise, if the condition expression of the guard statement evaluates false then the body of the guard statement gets executed and the control flow of the program goes inside the guard statement and its body will get executed. Since we have used the "break" statement just after executing all statements of the body hence this "break" statement also gets executed. Due to this "break" statement, the iteration would be stopped at the moment due to which the flow control of the program would eventually land upon statement 2, and hence it will get executed.
Example:
In the below program we are iterating from num = 1 to num = 5 using a while loop. We are using a guard statement and the condition expression is "num % 5 != 0", which simply means that "num" is not divisible by 5. Now for num = 1 to num = 4, the body of the guard statement doesn't get executed as num is not divisible by 5. For num= 5 the body of the guard, On reaching inside the guard statement, firstly num would be incremented by one but since we have break control statement just after it, so the while loop would be stopped at the moment and the control flow of the program comes out of the while loop.
Swift
// Swift program to demonstrate the working of
// guard statement inside a loop and using
// break control statement
// Initializing variable
var num = 1
print("Natural numbers from 1 to 5 which are not divisible by 5 are: \n")
// Iterating from 1 to 5
while (num <= 5)
{
// Guard condition to check the divisibility by 5
// If num is divisible by 5 then execute the body
// of the guard statement
guard num % 5 != 0 else
{
num = num + 1
break
}
// If num is not divisible by 5 then
// print the value represented by num
print(num)
num = num + 1
}
Output:
Natural numbers from 1 to 5 which are not divisible by 5 are:
1
2
3
4
Likewise, we can achieve the same results by using a for-loop.
Guard statement in a function
Guard statements can be used with a function also. But we use the below control statements only while dealing with a guard statement in a function,
- return: This stops the execution of the function at the moment and the control flow of the program comes out of the function.
- throw: This throws an error if something goes wrong and the exception can be caught with the help of a catch block.
Let us discuss them one by one in detail:
Guard statement with a return control statement
A guard statement with a "return" control statement has the following form,
func myFunction (parameters (optional)){
// statement 1
guard condition else {
// body
return
}
// statement 2
}
// Calling function
myFunction(arguments)
Here, the func is a keyword and myFunction is the function name.
If the condition expression of the guard statement evaluates true then the body of the guard statement doesn't get executed and the control flow of the program would directly come at statement 2 and this statement would be executed as soon as the condition expression evaluates true.
Otherwise, if the condition expression of the guard statement evaluates false then the body of the guard statement gets executed and the control flow of the program goes inside the guard statement and its body will get executed. Since we have used the "return" statement just after executing all statements of the body hence this "return" statement also gets executed. Due to this "return" statement, the function execution would be stopped at the moment due to which the flow control of the program would eventually come out of the function body.
Example:
In the below program we are checking whether the passed integer, num is divisible by 5 using a guard statement. If the condition evaluates false then the body of the guard statement would be executed that contains a print statement to print, "Not divisible by 5". the flow of control of the program comes out of the function body at the moment as we have used return statement just after the print statement. Otherwise, the body of the guard would be skipped and the print statement after the end of the guard statement would be executed that prints, "Divisible by 5" to the console.
Swift
// Swift program to demonstrate the working of
// guard statements in a function
// Create a function
func checkDivisibilityByfive(num: Int)
{
// Use of guard statement
guard num % 5 == 0 else
{
print("Not divisible by 5")
return
}
print("Divisible by 5")
}
// Calling function
checkDivisibilityByfive(num: 5)
// Calling function
checkDivisibilityByfive(num: 12)
Output:
Divisible by 5
Not divisible by 5
Guard statement with a throw control statement
A guard statement with a "throw" control statement has the following form,
func myFunction (parameters (optional)) throws{
// statement 1
guard condition else {
// body
throw error
}
// statement 2
}
// Calling the function
// Using try and catch block
do {
try myFunction(arguments)
}
catch {
print()
}
Here, func is a Keyword, myFunction is the function name, error is the error thrown.
If the condition expression of the guard statement evaluates true then the body of the guard statement doesn't get executed and the control flow of the program would directly come at statement 2 and this statement would be executed as soon as the condition expression evaluates true.
Otherwise, if the condition expression of the guard statement evaluates false then the body of the guard statement gets executed and the control flow of the program goes inside the guard statement and its body will get executed. Since we have used a "throw" control statement just after executing all statements of the body hence this statement also gets executed. Due to this, the function's execution would be stopped at the moment by throwing an error, due to which the flow control of the program would eventually come out of the function body. We can handle this error with the help of a do-catch block easily.
Example:
In the below program we are trying to convert the string into its integer equivalent. Firstly, we have tried to convert the string to its integer equivalent with the help of the Int() initializer. Note that passed string can be non-numeric, that's why we have passed an optional value also (-1). Now if the value of the variable "integerValue" is not equal to -1 then the body of the guard statement will not get executed and the flow control of the program would reach the print statement. Otherwise, if it is equal to -1 then it means that the passed string is a non-numeric string and hence the condition expression of the guard statement will evaluate false and its body will be executed that throws an error that’s one of the cases of the "stringError" enumeration, the function handles the error by printing a message. Otherwise, the function propagates the error to its call site. Now the error is then caught by the catch.
Swift
// Swift program to demonstrate the working of
// guard statement with throw control statement
// Enum type for making error message
enum stringError: Error
{
case non_numeric_string
}
// Function to convert string to an integer
func convertToInt(myString: String) throws
{
// Using integer initializer
// If myString is numeric then convert it
// using initializer Otherwise default type
// will be assigned that is, -1
let integerValue = Int(myString) ?? -1
// If integerValue is -1 then guard
// statement will executed
guard integerValue != -1 else
{
throw stringError.non_numeric_string
}
// Otherwise this would be printed on console
print("integerValue:", integerValue)
}
// Try and catch blocks
do
{
try convertToInt(myString: "12345")
}
catch
{
print("[X] wrong string format: \(error)")
}
do
{
try convertToInt(myString: "GeeksforGeeks")
}
catch
{
print("[X] wrong string format: \(error)")
}
Output:
integerValue: 12345
[X] wrong string format: non_numeric_string
Guard having multiple conditions
Guard statements can evaluate multiple conditions separated by commas(,). The body of the guard statement will be executed if at least one condition evaluates false. In other words, if and only if all the conditions evaluate true then in that case the body of the guard statement doesn't get executed just like logical AND. Otherwise, the body of the guard statement will always get executed. The syntax is given below,
Syntax:
guard condition1, condition2, ..... else {
// body
}
Here, condition 1, condition 2... are condition expressions
Example:
In the below program, we have imposed two conditions for the value of num. num is less or greater than one and num is less than ten. If this condition is not fulfilled then the body of the guard statement would be executed, otherwise, the body of the guard statement would be skipped and the print statement after the guard statement will be executed.
Swift
// Swift program to demonstrate the working of a
// guard statement having multiple conditions
func checkNumber(num: Int)
{
guard num >= 1, num < 10 else
{
print("\(num) is greater than or equal to 10")
return
}
print("\(num) is less than 10")
}
checkNumber(num: 4)
checkNumber(num: 20)
Output:
4 is less than 10
20 is greater than or equal to 10
Guard-let Statement
We can also use guard let-statement. In the below program we have initialized a variable, str as an optional type. In the guard-let statement, we are checking whether "str" contains a value. As str contains a value hence expression evaluates true and the body of the guard-let statement don't get executed.
Example:
Swift
// Swift program to demonstrate the working
// of guard-let statement
func checkString()
{
// str is optional type
let str: String? = "GeeksforGeeks"
// Check whether myString has a value
guard let myString = str else
{
print("Invalid type")
return
}
// Print if condition results into false
print("myString: \(myString)")
}
// Calling function
checkString()
Output:
myString: GeeksforGeeks
Difference between guard and if Statement
The difference between a guard statement and if statement is that for the same condition expression, the body of the "guard" statement is executed if the condition expression evaluates false and the body of an "if" statement is executed if the condition expression evaluates true. Also, in the case of a guard statement, it must have a control statement to change the control flow of the program but it is not mandatory for an if statement.
Example:
In the program, we have created two functions to illustrate the difference between the two. In "checkUsingIf" function, we have used an if statement to check whether the passed string to the function is equal to "GeeksforGeeks". If it is so, then the body of the if statement will be executed, and the control flow of the program, will come out of the function body as soon as it reaches the return statement. Otherwise, the print statement, print("GeeksforGeeks and \(myString) are the same.") will be executed.
In "checkUsingGuard" function, we have used a guard statement to check whether the passed string to the function is not equal to "GeeksforGeeks". If it is equal, then the body of the guard statement will be executed, and the control flow of the program will come out of the function body as soon as it reaches the return statement. Otherwise, the print statement, print("GeeksforGeeks and \(myString) are different.") will be executed.
Swift
// Swift program to illustrate the difference between
// if and guard statement
// Function having if statement
func checkUsingIf(myString: String)
{
// If statement
if myString == "GeeksforGeeks"
{
print("GeeksforGeeks and \(myString) are the same.")
return
}
print("GeeksforGeeks and \(myString) are different.")
}
// Function having guard statement
func checkUsingGuard(myString: String)
{
// Guard statement
guard myString == "GeeksforGeeks" else
{
print("GeeksforGeeks and \(myString) are different.")
return
}
print("GeeksforGeeks and \(myString) are the same.")
}
// Calling functions by passing a string as a parameter
checkUsingIf(myString: "GeeksforGeeks")
checkUsingIf(myString: "Bhuwanesh Nainwal")
checkUsingGuard(myString: "GeeksforGeeks")
checkUsingGuard(myString: "Bhuwanesh Nainwal")
Output:
GeeksforGeeks and GeeksforGeeks are the same.
GeeksforGeeks and Bhuwanesh Nainwal are different.
GeeksforGeeks and GeeksforGeeks are the same.
GeeksforGeeks and Bhuwanesh Nainwal are different.
Similar Reads
Swift Tutorial
Swift is a powerful general-purpose programming language developed by Apple to create iOS applications such as for iOS, macOS, watchOS, and so on. Swift code is easier to understand and write. Swift is open Source, fast, Powerful and Interoperability(Code of Swift can be used along with existing Obj
10 min read
Swift Introduction
Swift - Hello World Program
Swift is a Programming Language used for developing iOS-based platforms like macOS, apple mobiles, apple iOS Watches, iOS TVs, iOS Keywords, iOS Mouse, and other iOS Software-based Peripherals. This language is almost 80% similar to C and Python languages. Once who is familiar with C and Python lang
2 min read
Swift - Basic Syntax
Swift is a broadly useful programming language which is created by Apple Inc. It is an amazing programming language for iOS, iPadOS, macOS, tvOS, and watchOS. It incorporates present-day highlights engineers love. Swift code is protected by plan and furthermore delivers programming that runs lightni
5 min read
Swift - Keywords
Every programming language has some set of reserved words that are used for some internal process or represent some predefined actions such words are known as keywords or reserve words. You are not allowed to use these reserved words as a variable name, constant name, or any other identifier. But if
4 min read
Swift - Literals
Literals are the actual values of integer, decimal number, strings, etc. Or we can say that literals are the values of a variable or constant. We can use literals directly in a program without any computation. By default in Swift, literals don't have any type on their own. Primitive type variables c
10 min read
Swift - Constants, Variables & Print function
Constants and variables are those elements in a code linked with a particular type of value such as a number, a character, a string, etc. Constants once declared in a code cannot be changed. In comparison, variables can change at any time in a code within the scope.Declaring Constants & Variable
2 min read
Swift - Operators
Swift is a general-purpose, multi-paradigm, and compiled programming language which is developed by Apple Inc. In Swift, an operator is a symbol that tells the compiler to perform the manipulations in the given expression. Just like other programming languages, the working of operators in Swift is a
8 min read
Swift Data Types
Swift - Data Types
Data types are the most important part of any programming language. Just like other programming languages, in Swift also the variables are used to store data and what type of data is going to store in the variable is decided by their data types. As we know that variables are nothing but a reserved m
5 min read
Swift - Integer, Floating-Point Numbers
Integers are whole numbers that can be negative, zero, or positive and cannot have a fractional component. In programming, zero and positive integers are termed as âunsignedâ, and the negative ones are âsignedâ. Swift provides these two categories in the form of 8-bit, 16-bit, 32-bit and 64-bit form
2 min read
Strings in Swift
Swift 4 strings have requested an assortment of characters, for example, "Welcome GeeksforGeeks" and they are addressed by the Swift 4 information type String, which thus addresses an assortment of upsides of Character type. Strings in Swift are Unicode right and region obtuse and are intended to be
8 min read
String Functions and Operators in Swift
A string is a sequence of characters that is either composed of a literal constant or the same kind of variable. For eg., "Hello World" is a string of characters. In Swift4, a string is Unicode correct and locale insensitive. We are allowed to perform various operations on the string like comparison
10 min read
How to Concatenate Strings in Swift?
In Swift, a string is a sequence of a character for example "GeeksforGeeks", "I love GeeksforGeeks", etc, and represented by a String type. A string can be mutable and immutable. When a string is assigned to a variable, such kind of string is known as a mutable string(can be modified) whereas when a
3 min read
How to Append a String to Another String in Swift?
Swift language supports different types of generic collections and a string is one of them. A string is a collection of alphabets. In the Swift string, we add a string value to another string. To do this task we use the append() function. This function is used to add a string value to another string
2 min read
How to Insert a Character in String at Specific Index in Swift?
Swift language supports different types of generic collections and a string is one of them. A string is a collection of alphabets. In the Swift string, we will insert a new character value into the string. To do this task we use the insert() function. This function is used to insert a new character
2 min read
How to check if a string contains another string in Swift?
The Swift language supports different types of generic collections and a string is one of them. A string is a collection of alphabets. In the Swift string, we check if the specified string is present in a string or not. To do this task we use the contains() function. This function is used to check w
2 min read
How to remove a specific character from a string in Swift?
Swift language supports different types of generic collections and a string is one of them. A string is a collection of alphabets. In the Swift string, we check the removal of a character from the string. To do this task we use the remove() function. This function is used to remove a character from
2 min read
Data Type Conversions in Swift
Before we start let's see what is type conversion. Type Conversion is used to check the type of instances to find out whether it belongs to a particular class type or not using the type conversion method or approach. Basically, a Type Conversion is a method in which we can convert one instance data
5 min read
Swift - Convert String to Int Swift
Swift provides a number of ways to convert a string value into an integer value. Though, we can convert a numeric string only into an integer value. In this article, we will see the two most common methods used to convert a string to an integer value. A string is a collection of characters. Swift pr
3 min read
Swift Control Flow
Swift - Decision Making Statements
Decision-making statements are those statements in which the compiler needs to make decisions on the given conditions. If the given condition is satisfied then the set of statements is executed otherwise some other set of statements are executed. These statements always return a boolean value that i
5 min read
Swift - If Statement
Just like other programming languages in Swift language also if statement is used to execute the program based on the evaluation of one or more conditions or in other words if statement is used to run a piece of code only when the given condition is true. There are also known as branch statement. Fo
3 min read
Swift - If-else Statement
Just like other programming languages in Swift language also support the if-else statement. In the if-else statement, when the given condition is true then the code present inside the if condition will execute, and when the given condition is false then the code present inside the else condition wil
3 min read
Swift - If-else-if Statement
In Swift, the if-else if-else condition is used to execute a block of code among multiple options. It gives a choice between more than two alternative conditions as soon as one of the conditions is true, the statement associated with that if is executed. If all conditions are false or not satisfied
3 min read
Swift - Nested if-else Statement
In Swift, a situation comes when we have to check an if condition inside an if-else statement then a term comes named nested if-else statement. It means an if-else statement inside another if statement. Or in simple words first, there is an outer if statement, and inside it another if - else stateme
4 min read
Swift - Switch Statement
In Swift, a switch statement is a type of control mechanism that permits a program to change its flow of control and take some decisions on the basis of some conditions imposed on the value of a variable. The control flow of a program comes out of the switch statement block as soon as the matching c
10 min read
Swift - Loops
In general, a loop is used for iteration and iteration means repetition. Using loops we can do anything n number of times. A loop can iterate infinite times until the condition fails. To break the loop generally, we write a condition. For example, if we want to print Hello GeeksforGeeks 100 times we
5 min read
Swift - While Loop
Just like other programming languages, the working of the while loop in Swift is also the same. It is used to execute a target statement repeatedly as long as a given condition is true. And when the condition becomes false, the loop will immediately break and the line after the loop will execute. Wh
2 min read
Swift - Repeat While loop
Sometimes there's a situation that comes when we have to execute a block of many numbers of times so to do this task we use the Repeat While loop. Or we can say that in Swift, we use the Repeat While loop to execute a block of code or a set of statements repeatedly. Repeat...while loop is almost sam
3 min read
Swift - For-in Loop
The for-in loop in Swift is very similar to for loop in Python. In Python, we write for iteration in range(). Here iteration is just a variable for iteration. In swift, also we write for iteration in range. We have collections like sets, arrays, dictionaries, so we can iterate their items using a fo
6 min read
Swift - Control Statements in Loops
Control statements are used to control the flow of the loop. For example, we have written a for loop, inside the for loop we have written some 3 or 4 if conditions. Consider after satisfying 1st if condition the loop need to break, which means other of conditions should not be executed. In that case
5 min read
Swift - Break Statement
The break statement is a loop control statement that is used to end the execution of an entire control flow statement immediately when it is encountered. When the break condition is true, the loop stops its iterations, and control returns immediately from the loop to the first statement after the lo
6 min read
Swift - Fallthrough Statement
Just like other languages in Swift also switch statement is very useful and powerful. It takes a value and then compare it with several possible matching pattern or we can say cases and stops its execution when it successfully found its first matching case statement and then execute the code present
4 min read
Swift - Guard Statement
Swift provides a special type of statement referred to as "guard" statement. A guard statement is capable to transfer the flow of control of a program if a certain condition(s) aren't met within the program. Or we can say, if a condition expression evaluates true, then the body of the guard statemen
15 min read
Swift Functions
Calling Functions in Swift
Functions are independent lumps of code that play out a particular undertaking. You can give a name to the function that recognizes what it does, and also the name is utilized to "call" the function to play out its errand when required. Or we can say that a function is a bunch of orders/explanations
6 min read
Swift Function Parameters and Return Values
A function is a piece of code that is used to perform some specific task. Just like other programming languages Swift also has functions and the function has its name, parameter list, and return value. Their syntax is flexible enough to create simple as well as complex functions. All the functions i
10 min read
How to Use Variadic Parameters in Swift?
A function is a block of code that is used to perform some specified task. It is reusable and saves time and resources from writing the same code again and again. The syntax of the Swift function is flexible enough to create simple as well as complex functions. A function definition contains its nam
6 min read
Swift - In Out Parameters
In Swift, a function is a collection of statements clubbed together to perform a specific task. A function may or may not contain a return type. The return type of the function decides the type of value returned by a function. For example, if we want to return an integer value from a function then t
4 min read
Swift - Nested Function
A function is a collection of statements grouped together as a block to perform a specific task. The return type of a function decides the type of value returned by the function. For example, if we want to get an integer value from a function then the return type of the function must be Int, if we w
5 min read
Swift - Function Overloading
In Swift, a function is a set of statements clubbed together to perform a specific task. It is declared using the "func" keyword. We can also set the return type of the function by specifying the data type followed by a return arrow ("->"). Syntax: func functionName(parameters) -> returnType {
8 min read
Closures in Swift
In Swift, Closures are known as self-contained blocks of functionality that can be passed around and used inside your code. They are quite similar to blocks in C and Objective-C and to lambdas in other programming languages. Closures can also capture and store references to any constants and variabl
9 min read
Escaping and Non-Escaping Closures in Swift
In Swift, a closure is a self-contained block of code that can be passed to and called from a function. Closures can be passed as arguments to functions and can be stored as variables or constants. Closures can be either escaping or non-escaping. An escaping closure is a closure that is called after
5 min read
Higher-Order Functions in Swift
Higher-order functions are functions that take other functions as arguments or return functions as their output. These functions are an important aspect of functional programming, which is a programming paradigm that focuses on the use of functions to model computation. Higher-order functions enable
10 min read
Swift Collections
Swift - Arrays
An array is one of the most powerful data structures in any programming language. It is used to store elements of similar data types. In other words, suppose we want to store a number of values that are of integer type only then in such cases we can use an array of integers, if values are of type fl
9 min read
Swift - Arrays Properties
An array is one of the most commonly used data types because of the benefits it provides in writing programs more efficiently. Just like other programming languages, in the Swift language, also array is a collection of similar data types. It stores data in an order list. When you assign an array to
4 min read
Swift - How to Store Values in Arrays?
An array is a collection of elements having a similar data type. Normally to store a value of a particular data type we use variables. Now suppose we want to store marks of 5 students of a class. We can create 5 variables and assign marks to each of them. But for a class having 50 or more students,
4 min read
How to Remove the last element from an Array in Swift?
Just like other programming languages Swift also support array. An array is an ordered generic collection that is used to store the same type of values like int, string, float, etc., you are not allowed to store the value of another type in an array, for example, you have an int type array in this a
4 min read
How to Remove the First element from an Array in Swift?
Swift provides various generic collections and array is one of them. Just like other programming languages in Swift also an array is an ordered collection that is used to store the same type of values like int, string, float, etc., you are not allowed to store the value of another type in an array,
4 min read
How to count the elements of an Array in Swift?
In Swift, an array is an ordered generic collection that is used to keep the same type of data like int, float, string, etc., here you are not allowed to store the value of another type. It also keeps duplicate values of the same type. An array can be mutable and immutable. When we assign an array t
2 min read
How to Reverse an Array in Swift?
Swift provides various generic collections and array is one of them. Just like other programming languages, in Swift also an array is an ordered collection that is used to store the same type of values like int, string, float, etc., you are not allowed to store the value of another type in an array,
3 min read
Swift Array joined() function
Swift support different type of generic collections and array is one of them. An array is an ordered collection of the same type of values like int, string, float, etc., you are not allowed to store the value of another type in an array(for example, in a string type of array we can only store string
3 min read
How to check if the array contains a given element in Swift?
The Swift language supports different types of generic collections and an array is one of them. An array is an ordered collection that is used to keep the same type of data like int, float, string, etc., in an array you are not allowed to store the value of another type. It also keeps duplicate valu
3 min read
Sorting an Array in Swift
Swift support different type of collections and array is one of them. An array is an ordered collection of the same type of values like int, string, float, etc., you are not allowed to store the value of another type in an array(for example, an int type can only store integer values, not string valu
5 min read
How to Swap Array items in Swift?
Swift supports various generic collections like set, dictionary, and array. In Swift, an array is an ordered collection that is used to store the same type of values like string, int, float, etc. In an array, you are not allowed to store the value of a different type in an array, for example, if you
2 min read
How to check if an array is empty in Swift?
The Swift language supports different collections like a set, array, dictionary, etc. An array is an ordered generic collection that is used to keep the same type of data like int, float, string, etc., here you are not allowed to store the value of another type. It also keeps duplicate values of the
2 min read
Swift - Sets
A set is a collection of unique elements. By unique, we mean no two elements in a set can be equal. Unlike sets in C++, elements of a set in Swift are not arranged in any particular order. Internally, A set in Swift uses a hash table to store elements in the set. Let us consider an example, we want
15+ min read
Swift - Set Operations
Set is a collection of unique values. A set can be created using the initializer or the set literal syntax. A set can also be created by adding an array of unique values to an empty set. We can use a set instead of an array when we want to remove duplicate values. A set is unordered and does not mai
9 min read
How to remove first element from the Set in Swift?
In Swift, a set is a generic collection that is used to store unordered values of the same type. It means you are not allowed to keep different types in the set or we can say that a string type of set can only store string data types, not int type. You can use a set instead of an array if the order
2 min read
How to remove all the elements from the Set in Swift?
A set is a generic unordered collection that is used to store values of the same type. It means you are not allowed to keep different types in the set or we can say that a string type of set can only store string data types, not int type. You can use a set instead of an array if the order of the val
2 min read
How to check if the set contains a given element in Swift?
Swift supports the generic collection and set is one of them. A set is used to store unordered values of the same type. It means you are not allowed to store different types in the set, e.g. a set is of int type then you can only store values of int type not of string type. A is used set instead of
3 min read
How to count the elements of a Set in Swift?
Swift supports the different types of generic collections and set is one of them. A set is used to store unordered values of the same type. It means you are not allowed to keep different types in the set. You can use a set instead of an array if the order of the values is not defined or you want to
2 min read
Sorting a Set in Swift
Swift supports the generic collection and set is one of them. A set is used to store unordered values of the same type. It means you are not allowed to store different types in the set, e.g. a set is of int type then you can only store values of int type not of string type. A is used set instead of
4 min read
How to check if a set is empty in Swift?
Swift supports the different types of generic collections and set is one of them. A set is used to store unordered values of the same type. It means you are not allowed to keep different types in the set. You can use a set instead of an array if the order of the values is not defined or you want to
2 min read
How to shuffle the elements of a set in Swift?
A set is an unordered generic collection that is used to store elements of the same type. It means you are not allowed to keep different types in the set. You can use a set instead of an array if the order of the values is not defined or you want to store unique values. It doesn't keep duplicate val
2 min read
Swift - Difference Between Sets and Arrays
An array is a linear data structure which has contiguous memory in a single variable that can store N number of elements. For example, if we want to take 10 inputs from the user we canât initialise 10 variables. In this case you can make use of arrays. It can store N number of elements into a single
3 min read
Swift - Dictionary
Swift is a programming language designed to work with Apple's Cocoa and Cocoa Touch frameworks. It is intended to be a modern, safe, and flexible alternative to Objective-C. It is built with the open-source community in mind, and it is actively developed by members of the Swift community. Swift is a
9 min read
Swift - Tuples
A Tuple is a constant or variable that can accommodate a group of values that can be of different data types and compounded for a single value. In easy words, a tuple is a structure that can hold multiple values of distinct data types. Tuples are generally used as return values to retrieve various d
3 min read
Swift - Iterate Arrays and Dictionaries
For iterating over arrays and dictionaries we have to use the for-in, forEach loop in Swift. Both the loops support iterating over these types of data structures like arrays, dictionaries, etc. The usage of the for-in loop over data structures is very similar to the Python for loop. Both the loops a
6 min read
Swift OOPs
Swift Structures
A structure is a general-purpose building block of any code and stores variables of different data types under a single unit. Just like other programming languages in Swift you can also define the properties and methods into a structure, where the properties are the set of constants or variables tha
7 min read
Swift - Properties and its Different Types
In Swift, properties are associated values that are stored in a class instance. OR we can say properties are the associate values with structure, class, or enumeration. There are two kinds of properties: stored properties and computed properties. Stored properties are properties that are stored in t
13 min read
Swift - Methods
Methods are functions that belong to a specific type. Instance methods, which encapsulate particular tasks and functionality for working with an instance of a given type, can be defined by classes, structures, and enumerations. Type methods, which are connected to the type itself, can also be define
5 min read
Swift - Difference Between Function and Method
Some folks use function and method interchangeably and they think function and method are the same in swift. But, function and method both are different things and both have their advantages. In the code, Both function and method can be used again but methods are one of these: classes, structs, and
4 min read
Swift - Deinitialization and How its Works?
Deinitialization is the process to deallocate memory space that means when we finished our work with any memory then we will remove our pointer that is pointing to that memory so that the memory can be used for other purposes. In other words, it is the cycle to let loose unused space which was invol
4 min read
Typecasting in Swift
Typecasting in Swift is the process of determining and changing the type of a class, structure, or enumeration instance. When working with different types of objects in your code, typecasting is essential because it enables runtime type checking and safe downcasting of instances to subclass types. U
7 min read
Repeating Timers in Swift
In Swift, a timer is a mechanism for scheduling code to run at a specified interval. A repeating timer is a type of timer that runs at a fixed interval and repeats indefinitely until it is stopped. How to Create a Repeating Timer in Swift Here are the steps to create a repeating timer in Swift: Ste
4 min read
Non Repeating Timers in Swift
Developers may create effective and efficient applications using a number of tools with Swift, a strong and versatile programming language. The Timer class is one such tool that enables programmers to define timed events that run at predetermined intervals. In this post, we'll go over how to make a
7 min read
Difference between Repeating and Non-Repeating timers in Swift
Swift uses timers to create recurring activities and delay the start of some processes. It is a class that was once referred to as NSTimer. This class gives a flexible method for planning tasks that will happen in the future, either once or repeatedly. You frequently encounter situations where you m
4 min read
Optional Chaining in Swift
In Swift, optional chaining is a process for calling methods, properties, and subscripts on an optional that might currently be nil. If the optional contains a value, the method, property, or subscript is called normally. If the optional is nil, the method, property, or subscript call is ignored and
9 min read
Singleton Class in Swift
Singleton is a creational design pattern that makes sure there is just one object of its kind and provides all other code with a single point of access to it. Singletons have essentially identical benefits and drawbacks as global variables. Despite being quite useful, they prevent your code from bei
4 min read
Swift Additional Topics
Swift - Error Handling
Error handling is a response to the errors faced during the execution of a function. A function can throw an error when it encounters an error condition, catch it, and respond appropriately. In simple words, we can add an error handler to a function, to respond to it without exiting the code or the
2 min read
Difference between Try, Try?, and Try! in Swift
In every programming language, exception handling plays a crucial role in ensuring the reliability and stability of code. With the rise of Swift as a powerful and versatile programming language, developers are faced with new challenges and opportunities in managing errors and unexpected events. This
4 min read
Swift - Typealias
A variable is a named container that is used to store a value. Now each value has a type to which it belongs and is known as data type. A data type is a classification of data that tells the compiler how a programmer wants to use the data. Data types can be broadly classified into three categories,
7 min read
Important Points to Know About Java and Swift
Java is a general-purpose, class-based, object-oriented programming language and computing platform which was first developed by Sun Micro System in the year 1995. It was developed by James Gosling. It was designed to build web and desktop applications and have lesser implementation dependencies. It
3 min read
Difference between Swift Structures and C Structure
Swift structures are a basic building block in the Swift programming language. They are used to group related data together in a single unit. They are similar to classes, but differ in several key ways, including: Value Types: Structures are value types, meaning that when you pass a structure to a f
4 min read
How to Build and Publish SCADE Apps to Apple and Google Stores?
The two most popular platforms for distributing and promoting apps are Google Play and the Apple App Store. These two platforms are critical in the app development process since they allow developers to build mobile apps and test them on actual devices. Your applications should be created according
11 min read
6 Best iOS Project Ideas For Beginners
If you have decided to start working on some fascinating project ideas then you need to think first before getting started. However, itâs not an easy task to find new project ideas for learning and improving any new programming language. Those who are trying their hands-on experience with an iOS app
8 min read