如何保存webservice调用并在iOS中提供internet连接时使用它?

如何保存webservice调用并在iOS中提供internet连接时使用它?,ios,swift,web-services,alamofire,Ios,Swift,Web Services,Alamofire,我试图在用户截图时实现webservice调用,我已经用下面的方法成功地实现了它 //this method get called when screenshot captured func detectScreenShot() { let mainQueue = OperationQueue.main NotificationCenter.default.addObserver(forName: NSNotification.Name.UIApplicationUserD

我试图在用户截图时实现webservice调用,我已经用下面的方法成功地实现了它

  //this method get called when screenshot captured
func detectScreenShot()  {
    let mainQueue = OperationQueue.main
    NotificationCenter.default.addObserver(forName: NSNotification.Name.UIApplicationUserDidTakeScreenshot,
                                           object: nil,
                                           queue: mainQueue,
                                           using: { notification in
                                            WEBSERVICE_INTERFACE.webServiceWithPostJSONParameters(param: nil, methodName: Constants.URLs.screenshot, headers: Constants.Headers.urlEncoded, showProgress: false, completion: { (response) in

                                                if let response = response{
                                                    let response = BaseResponse(JSONString : response)
                                                    if let message = response?.message{
                                                        LIMITUtils.showAlertMessage(message: message)
                                                    }
                                                }

                                            })

    })
}
但现在我有了一个场景,假设用户通过关闭互联网连接来截图,那么就不会发生Web服务调用,用户将从中受益。现在我想要一种解决方案,在没有连接的情况下保存webservice调用,并在internet连接可用时进行相同的调用。有人可以建议我如何进行此操作吗?

使用“检查互联网可用”或不编写以下代码来检查互联网

//MARK:- check internet connection
    func checkInternetStatus() {
        NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(reachabilityChanged(_:)), name:ReachabilityChangedNotification, object: nil)
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0)) {
            //Check for Internet Status
            do {
                self.reachability = try Reachability.reachabilityForInternetConnection()
                try self.reachability?.startNotifier()
            } catch {
                jprint("Errore")
                return
            }
        }
    }

    func reachabilityChanged(note:NSNotification) {
        let Status = reachability?.currentReachabilityStatus  //note.object as! Reachability
        if Status != .NotReachable  {
            jprint("isNetworkAvailable = true")
            isNetworkAvailable = true
        } else {
            jprint("isNetworkAvailable = false")
            ShowFlinntAlert("No internet", description: "Your internet connection seems to be down")
            isNetworkAvailable = false
        }
    }
在调用API之前,只需检查

guard isInternetAvailable() else {
    return
}

我知道可访问性,但是如果没有可用的internet连接,我想保存webservice call,但是谢谢如果您自己通过捕获窗口上传图像,或者如果您发送用户拍摄快照的屏幕名称,您可能会将其保存在某个位置(用户默认值/archive/coredata)当互联网可用时,你可以再次排队。但是看看你的代码,你只是在触发一个没有任何参数的API,所以你打算用这个API做什么可能会回答你的问题。@GoodSp33d我只是想在调用API时减少用户信用,但是如果当时无法连接internet,这不会发生,用户将得到benifit@AkshaykumarMaldhure你找到解决这个问题的办法了吗?