小编Sen*_*ico的帖子

NSURLConnection sendAsynchronousRequest无法从闭包中获取变量

我正在尝试使用POST从PHP页面获取简单的文本响应.我有以下代码:

func post(url: String, info: String) -> String {
    var URL: NSURL = NSURL(string: url)!
    var request:NSMutableURLRequest = NSMutableURLRequest(URL:URL)
    var output = "Nothing Returned";
    request.HTTPMethod = "POST";
    var bodyData = info;
    request.HTTPBody = bodyData.dataUsingEncoding(NSUTF8StringEncoding);

    NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()){

        response, data, error in

        output = (NSString(data: data, encoding: NSUTF8StringEncoding))!


    }

    return output
}
Run Code Online (Sandbox Code Playgroud)

虽然这段代码没有抛出任何错误,但当我这样调用它时:

println(post(url, info: data))
Run Code Online (Sandbox Code Playgroud)

它只打印:"没有返回",即使我要更改线路:

output = (NSString(data: data, encoding: NSUTF8StringEncoding))!
Run Code Online (Sandbox Code Playgroud)

对此:

println((NSString(data: data, encoding: NSUTF8StringEncoding)))
Run Code Online (Sandbox Code Playgroud)

它会打印出正确的响应.我在这里做变量我做错了吗?

post asynchronous nsurlconnection ios swift

5
推荐指数
1
解决办法
5704
查看次数

标签 统计

asynchronous ×1

ios ×1

nsurlconnection ×1

post ×1

swift ×1