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

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.joined()

        }

        return (vowelsCounts, volsStr)

    }


  //MARK: - Output

    

 let vowelsOutput = findVowelAndCount(str: "How to convert character array into string in Swift?")

 print(vowelsOutput) //(vowelCount: 16, vowelStr: "oeais")

Comments