Alamofire как установить тайм-аут - PullRequest
0 голосов
/ 01 февраля 2019

Я работаю над своим первым приложением для iOS и для совершения сетевых звонков использую Alamofire.Это красиво и легко.Я реализовал Alamofire в отдельном классе, назовем его WebserviceHelper.теперь я использовал этот класс со всего приложения.но теперь я хочу установить тайм-аут.

вот фрагмент того, как я сделал функцию в классе WebserviceHelper.

  static func requestService(methodName: String, method: HTTPMethod, parameters: Parameters, headers: HTTPHeaders? = nil, showLoaderFlag: Bool, viewController: UIViewController, completion: @escaping (_ success: JSON) -> Void) {

    let reachability = Reachability()!

    /*
     checking for internet connection
     */
    if(reachability.connection != .none) {

        /*
         Showing Loader here
         */
        if(showLoaderFlag){
        ViewControllerUtils.customActivityIndicatory(viewController.view, startAnimate: true)
        }

        print("Web Service Url - \(Common.URL+methodName)")
        print("Parameters - \(parameters)")

        /*
         Request configure
         */

        Alamofire.request(Common.URL+methodName, method: method, parameters: parameters, encoding: JSONEncoding.default, headers: headers) .responseJSON { response in

здесь вы можете видеть, что его легко использовать.Я использовал много способов установить время ожидания, но оно не работает для меня. это это то, что я пытался.а также эта ссылка, но у меня ничего не получалось.

Можете ли вы, ребята, помочь мне в настройке Timeout с помощью Alamofire.

1 Ответ

0 голосов
/ 01 февраля 2019

Вы должны попробовать URLRequest, который работает в последней версии Alamofire, как я уже реализовал.Смотрите следующий код:

guard let url = URL(string: "") else { return }
var urlRequest = URLRequest(url: url)
urlRequest.timeoutInterval = TimeInterval(exactly: 30)!  // Set timeout in request of 30 seconds

Alamofire.request(urlRequest).response { (dataResponse) in

}

Надеюсь, это поможет вам.

...