Skip to main content

Posts

Showing posts from July, 2023

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...

Find Out How Many Number of Vowels & Vowels in a Sentence & Remove duplicate elements

  Find Out How Many Number of Vowels & Vowels in a Sentence & Remove duplicate elements func findVowelAndCount ( str : String ) -> (vowelCount: Int , vowelStr: String ) {         let vowels = "aeious"         var vowelsCounts = 0         var vowelsArray: [ String ] = []         var volsStr = ""                  for i in str. lowercased (){             if vowels. contains (i){                 vowelsCounts += 1                 if !vowelsArray. contains ( " \(i) " ){                     vowelsArray. append ( " \(i) " )                 }             }             volsStr = vowelsArray. jo...

Singleton vs Dependency Injection in iOS Swift With A Simple Example

  Singleton: - The Singleton is a Design Pattern. That only on single instance of a class. A Singleton can be accessed from anywhere in the program, but it cannot be modified from anywhere. It can only be modified from within the Singleton. It is, therefore, a means to protect globals. A Singleton class supports inheritance, while a Static class is a sealed class, and therefore cannot be inherited. A Singleton class can inherit from other classes, while a Static class cannot (not even from other static classes). The singleton pattern increases coupling. Disadvantages of singleton in Swift The global nature leads to dependency hiding. It can be difficult to unit test the code. It can lead to tightly coupled code. If the single Instance of the object becomes corrupted, the entire system is compromised A singleton class itself is not thread safe. Multiple threads can access the singleton same time and create multiple objects, violating the singleton concept. The singleton may als...

Subscripts - The Programming Language Swift

Subscripts:-  Subscripts are used to access information from a collection , sequence and a list in classes, structured and enumeration without using any sequence method. Or These subscript are used to store and retrieve the value with the help of index without sequence method. Syntax:-  Subscripts subscript(<perameters>) -> <return type>{   //getter  get{  //subscript value declarations     }   set(newValue){ // setter are optional     //definition here   } Example:-  Subscripts class yearsOfMonths {   var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] subscript(index: Int) -> String{       get {             return months[index]]               }       set(newValue){               ...