How to create a Computed property in Swift

What is a computed property

Classes, Structures and Enums may define a computed property.

It is a property that does not store value, instead it defines getter and setter to retrieve and set other properties and values indirectly. Continue reading “How to create a Computed property in Swift”

What is the difference between Any and AnyObject in Swift

What are Any and AnyObject



Any and AnyObject are special types for working with nonspecific types.

Using Any and AnyObject is not recommended and it is always better to be specific about the types you work with. Continue reading “What is the difference between Any and AnyObject in Swift”

Downcasting using as! and as? in Swift

How to use as! and as? for downcasting and what are the differences between them

What is Downcasting ?



Behind the scenes a variable or constant of a class type may be a subclass of another class type.

For example a variable of type Any may be referring to a String. Continue reading “Downcasting using as! and as? in Swift”

Error handling using throws and do-catch in Swift

Example of using throws and do-catch and try to handle errors in Swift

Throwing functions in Swift



To indicate that a function can throw error you just add the word “throws” after its parameters and before its return type.

It is then called a throwing function. Continue reading “Error handling using throws and do-catch in Swift”

What exactly are Generics

In fact Array and Dictionary are generic collections, this is why you can create an Array of Int , String or any other type

What are Generics



Generics are one of the most powerful features of Swift, It allows you to create flexible Functions and Types that can work with any type.

If you used Array or Dictionary before in Swift then you already knows about Generics.
In fact Array and Dictionary are generic collections, this is why you can create an Array of Int , String or any other type and the same with Dictionary. Continue reading “What exactly are Generics”