Hi,
Swift has introduced a new keyword called 'defer'. Based on its meaning ‘defer’ puts off an action or event to a later time. It runs when the execution is about to leave the code block. You can use ‘defer’ wherever you want in our code block.
Using defer you can do necessary cleanup regardless of how execution is leaving the block of code.
func deferExample(){
let value = 10
defer {
print(Defer)
// Do your coding or cleanup here
}
print(Returning")
return
}
If you call the function then “Returning” text will be printed before “Defer” text. so it's clear that defer is executing the block at last or when execution is about to leave the code block.
More than one defer can also be used in a method and their execution will in reverse chronological order. If you’ve multiple defer statements in your code block(as shown here)
func multiDeferExample(){
let value = 10
defer {
print(Defer 1)
// Do your coding or cleanup here
}
defer {
print(Defer 2)
// Do your coding or cleanup here
}
print(Returning")
return
}
In above case firstly the “Defer 2” will work and then “Defer 1” will be executed. so by using defer you can make necessary changes or cleanup right before leaving the code block.
Note- Defer doesn’t allow break or return statement in their code block.
Thank You
0 Comment(s)