相关疑难解决方法(0)

如何在Playground中运行异步回调

许多Cocoa和CocoaTouch方法都有完成回调,实现为Objective-C中的块和Swift中的闭包.但是,在Playground中尝试这些时,永远不会调用完成.例如:

// Playground - noun: a place where people can play

import Cocoa
import XCPlayground

let url = NSURL(string: "http://stackoverflow.com")
let request = NSURLRequest(URL: url)

NSURLConnection.sendAsynchronousRequest(request, queue:NSOperationQueue.currentQueue() {
response, maybeData, error in

    // This block never gets called?
    if let data = maybeData {
        let contents = NSString(data:data, encoding:NSUTF8StringEncoding)
        println(contents)
    } else {
        println(error.localizedDescription)
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以在我的Playground时间轴中看到控制台输出,但是println我的完成块永远不会被调用...

closures asynchronous callback swift swift-playground

116
推荐指数
7
解决办法
3万
查看次数