Property in Swift - Computed property | Property Observers (WillSet & DidSet)

   Computed property -  Computed properties are part of a property type in Swift.  Stored properties are the most common which save and return a stored value  Computed properties calculate (rather than store) a value. A computed property provides a getter and an optional setter to indirectly access other properties and values. Computed property in swift is an interesting topic as you can write code inside a property in swift. Computed properties are provided by classes, structures, and enumerations but stored properties are provided only by classes and structures. This computed property swift tutorial has some tips on how to use the computed property in the right way and avoid the common mistakes that swift programming beginners do while computed property. Example :- Computed property A Calculate Simple Intrest struct CalculateLoan {      var amount : Int      var rate : Int      var years : Int      var simpleInterest: Int {          get {              return ( amount * rate

Encodable and Decodable With (Codable = Decodable + Encodable) in Swift


Encodable and Decodable With (Codable = Decodable + Encodable)


Encodable : - "Encodable means convert Request Parameters(Model) to Data"

By using the Encodable protocol we can generate request parameters by Model Class / Struct

struct AddProduct: Encodable{

    var title: String = ""

    init(title: String){

        self.title = title

    }

}


Decodable: -  "Decodable means convert Data to Request Parameters(Model)"

By using the Decodable protocol we can convert API response in Model Class / Struct. When done with API call decoding the response in terms of UserResponse object

struct ProductResponse: Decodable {

    let id: Int

    let title: String

}

Codable = Decodable + Encodable

Codable :-  typealias of Encodable +  Decodable

Codable is a type alias for the 'Encodable' and 'Decodable' protocols. 

When you use 'Codable' as a type or a generic constraint, it matches 

Any type that conforms to both protocols. 

public typealias Codable = Decodable & Encodable

struct AddProduc: Codable{

    var id: Int = 0

    var title: String = ""

    

    init(title: String){

        self.title = title

    }

} 

Comments