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...
Simple way to return back/previous view controller by presented or pushed in iOS Swift.
case 1 : using with Navigation controller
self.navigationController?.popViewController(animated: true)
case 2 : using with present view controller
self.dismiss(animated: true, completion: nil)
Show and hide a tableView on button click
ReplyDelete@IBAction func PressRefine(sender: AnyObject) {
if sportTableView.hidden {
sportTableView.hidden = false
} else {
sportTableView.hidden = true
}
}
or
@IBAction func PressRefine(sender: AnyObject) {
sportTableView.hidden = !sportTableView.hidden
}
very good
ReplyDelete