कई कोको और कोकोआटच विधियों में स्विफ्ट में उद्देश्य-सी और क्लोजर में ब्लॉक के रूप में कार्यान्वित कॉलबैक पूरा होता है। हालाँकि, जब प्लेग्राउंड में इनकी कोशिश करते हैं, तो पूरा होने को कभी नहीं कहा जाता है। उदाहरण के लिए:
// 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)
}
}
मैं अपने प्लेग्राउंड टाइमलाइन में कंसोल आउटपुट को देख सकता हूं, लेकिन println
मेरे पूर्ण ब्लॉक में कभी भी कॉल नहीं किया जाता ...