文字列を返すためにこの関数(データベースからデータを取得しています)が必要ですが、どうやって解決するのが問題です。 (私は迅速でかなり新しいです)URLSession Completion Handler関数Swift 3から返される文字列Swift 3
class Helper{
static func pReq(jsonURL : String, col : String) -> String {
let config = URLSessionConfiguration.default
let session = URLSession(configuration: config)
let url = URL(string: jsonURL)!
let request = URLRequest(url: url)
var string = ""
let downloadTask = session.dataTask(with: request, completionHandler: {(data, response, error) in
if(error == nil){
print("data = \(String(describing: data))")
do{
print(jsonURL)
let dataDownloadedAsJson = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [String:AnyObject]
print("dataDownloadedAsJson = \(dataDownloadedAsJson)")
do{
if(dataDownloadedAsJson[col] as? String != nil){
string = (dataDownloadedAsJson[col] as? String)!
}
}
}
catch{
}
}
else{
print("Error downloading data. Error = \(String(describing: error))")
}
})
downloadTask.resume()
return string
}
}
おかげで私はいくつかの類似した質問/ソリューションを見つけたが、私はまだ、適切なソリューションを実装するために苦労しています!
[この関連質問の】デュープに非常に近い(HTTPS:/を/stackoverflow.com/questions/24647406/how-to-use-completionhandler-closure-with-return-in-swift)。 –