Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在Playground中运行异步回调大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

许多Cocoa和CocoaTouch方法具有在Objective-C和Closures中实现为块的完成回调。但是,当在PLayground中尝试这些时,完成不会被调用。例如: // Playground - noun: a place where people can play import Cocoa import XCPlayground let url = NSURL(String: "
许多Cocoa和CocoaTouch方法具有在Objective-C和Closures中实现为块的完成回调。但是,当在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)
    }
}

我可以在我的Playground时间轴看到控制台@L_801_2@,但在我的完成块中的println从来不叫…

然你可以手动运行一个运行循环(或者,对于不需要运行循环的异步代码,使用其他等待方法,如dispatch semaphores),我们在PLaygrounds中提供的等待异步工作的“内置”方法是:导入XCPlayground框架并设置XCPlaygroundPage.currentPage.needsIndefiniteExecution = true。如果这个属性已经设置,当你的顶级playground源完成,而不是停止playground,我们将继续旋转主运行循环,所以异步代码有机会运行。我们最终将在超时后终止playground,认为30秒,但如果您打开助理编辑器并显示时间轴助手,可以配置;超时在右下方。

不幸的是,这个开发者预览不包括iOS的XCPlayground;仅适用于OSX。

使用有问题的代码的工作示例

import UIKit
import XCPlayground

let url = NSURL(String: "http://stackoverflow.com")
let request = NSURLrequest(URL: url!)

NSURLConnection.sendAsynchronousrequest(request,queue: NSOperationQueue.currentQueue()) { response,error in
    if let data = maybeData {
        let contents = NSString(data:data,encoding:NSUTF8StringEncoding)
        println(contents)
    } else {
        println(error.localizedDescription)
    }
}

XCPlaygroundPage.currentPage.needsIndefiniteExecution = true

大佬总结

以上是大佬教程为你收集整理的如何在Playground中运行异步回调全部内容,希望文章能够帮你解决如何在Playground中运行异步回调所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。