如何在不命名函数名称的情况下重复一个快捷函数?
就像我有此功能一样:
func repeatAtFail(){
let hasFailed = Bool.random()
if(hasFailed){
//repeat this function without calling function name
}
print("function succeed")
}
因此,我正在寻找重复功能的常规命令。就像“返回”一样。但是Return退出了该功能,我需要一个重复该功能的命令。
编辑11:08
这是我所拥有的功能
func loadRun(){
let request = get_request(postString: "function_name=get_run&userid=\(userid)&token=\(token!)")
URLSession.shared.dataTask(with: request) { (data, response, error) in
do {
guard let data = data else {
self.showErrorMessage()
//HERE I NEED TO REPEAT THE FUNCTION
throw JSONError.NoData
}
guard let json = try JSONSerialization.jsonObject(with: data, options: []) as? NSDictionary else {
self.showErrorMessage()
throw JSONError.ConversionFailed
}
if(checkErrors(json: json)){
self.showErrorMessage(message:json["error"] as! String)
return
}
self.data = json["payload"] as! [[String: Any]]
DispatchQueue.main.sync {
self.loadingBar.stopAnimating()
}
} catch let error as JSONError {
self.showErrorMessage()
print(error.rawValue)
} catch let error as NSError {
self.showErrorMessage()
print(error.debugDescription)
}
}.resume()
}
有时会出现错误-999,这可能是由于域上SSL证书失败所致。直到该问题解决为止,我需要一种重新加载功能的解决方案,以便用户不会遇到任何问题。