Skip to main content

Swift API Manager -Alamofire-Refresh Token-With TestCases

  import Foundation import KeychainAccess enum APIError : Error { case accessTokenExpired case networkError // Add more error cases as needed } class APIManager { private let keychain = Keychain (service: "com.example.app.refreshToken" ) private let refreshTokenKey = "refreshToken" private var accessToken: String ? func callAPI < T : Codable >( urlString : String , method : String , parameters : [ String : Any ] ? , completion : @escaping ( Result < T , APIError >) -> Void ) { guard let url = URL (string: urlString) else { completion(.failure(.networkError)) return } var request = URLRequest (url: url) request.httpMethod = method // Add access token to the request headers if available if let token = accessToken { request.setValue( "Bearer \(token) " , forHTTPHeaderField: "Aut...

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


  

Computed property - Computed properties are part of a property type in Swift. 

  1. Stored properties are the most common which save and return a stored value 

  2. 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 * years)/100

        }

    }

}

let calculateValue = CalculateLoan(amount: 20000, rate: 14, years: 20)

print(calculateValue.simpleInterest)



Property Observers (WillSet & DidSet) - Property observers means to observe and respond to changes in a property's value. Property observers are called every time a property's value is set, even if the new value is the same as the property's current value.



class Bank {

    

    //Property Observer

    

    var accountBlance: Double {

        

        // After a new value is set to your property if you want to run some code then you can use didSet

        

        didSet{

            alertToUpdateAccount()

        }

        

        // Execute before set new value assigned to the property

        

        willSet(newValue){

            if newValue >= 100000{

                print("Please check this account is authentic first")

            }

        }

    }

    

    init(_opningBalance: Double){

        accountBlance = _opningBalance

    }

    

    func addMoney(amount: Double){

        accountBlance += amount

    }

    

    func withdrowMoney(amount: Double){

        accountBlance -= amount

    }

    

    func alertToUpdateAccount(){

        print("Account balance is updated => \(accountBlance)")

    }

}


let bank = Bank(_opningBalance: 10000)

bank.addMoney(amount: 1000000)

print(bank.accountBlance)

Comments

  1. Great blog!
    Thank you for sharing your experience and expertise with us!
    Connect with us - if you're looking to hire Flutter app developers, we have highly skilled developers expertise in Flutter's versatile framework.

    ReplyDelete
  2. Your blog highlights the vibrant world of iOS development, showcasing the expertise and services offered by iOS developers. The focus on iPhone and iPad app development services is particularly appealing, given the expanding user base on these devices.

    ReplyDelete

Post a Comment