草庐IT

async_generator

全部标签

ios - 删除/停止 dispatch_async iOS

我创建了一个dispatch_async来将数据下载到网络服务。我用possibilida中的按钮创建了一个警报,以取消/阻止下载。我的问题是:如何删除/停止我的dispatch_async?这是我的express:dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0)){doStuff();} 最佳答案 GCD没有直接的方法,但您可以使用NSOperationQueue并调用方法cancelAllOperations。NSOperati

thread-safety - 有人可以在这种情况下为我解释 dispatch_async()

我在单独的类中有以下方法:classAPI:NSObject{vardata=NSData()vardelegate:APIProtocol?funcgetItems(callback:(Array)->()){leturlPath:NSString="http://localhost:3000/files"leturl=NSURL(string:urlPath)letrequest=NSMutableURLRequest(URL:url)request.HTTPMethod="GET"request.addValue("application/json",forHTTPHeaderF

ios - 调度组 : for-loop *and* async calls within the for-loop

我了解如何在简单的for循环中使用调度组。但是,我有一个更复杂的for循环,其中包含更多异步调用。我希望在执行组完成代码之前完成所有异步调用。我试图应用此答案中的原则无济于事-CanIusedispatchgroupnotinaloop?.这是我的代码,基于我在该链接中观察到的技术:letgroup=DispatchGroup()forrefinself.notifsRefList{group.enter()self.db.fetch(withRecordID:ref.recordID){notifRecord,notifErrinprint("asynccall")ifnotifEr

ios - 错误 "$T5??' 在 Swift 中没有名为 'Generator' 的成员?

我尝试在Swift中使用allContactedBodies()但我一直收到错误'$T5??'没有名为“Generator”的成员:classSense:SKNode{overrideinit(){super.init()}requiredinit(coder:NSCoder){fatalError("NSCodingnotsupported")}init(size:CGSize){//Initializeshapesuper.init()//PhysicPropertiesself.physicsBody=SKPhysicsBody(rectangleOfSize:size)self

parallel-processing - Swift 是否具有通过 Grand Central Dispatch 的 dispatch_async 进行并行编程的结构?

我有兴趣采用新的Swift编程语言。我维护的代码库通过C++GrandCentralDispatch扩展(dispatch_async等)广泛使用多核处理有没有审查过Swift现状的人知道这种语言是否能够以类似的方式访问GCD? 最佳答案 是的,虽然我在Playground上没有取得太大的成功,但确实如此。在一个真实的项目中它应该工作。所有iOS8和OSX10.10文档都显示了GCD方法的Swift语法。我在当前项目中为单例使用dispatch_once,它工作得很好:NSOperation和NSOperationQueue都在底层

ios - swift 2.0 : `print` function generates "Argument passed to call that takes no arguments" error

类中的print函数神秘地生成以下错误:Argumentpassedtocallthattakesnoarguments。但是,如果我们使用Swift.print而不是仅仅使用print来调用函数,错误就会消失。我们使用的是Swift2和Xcode7。为什么会这样?在生成错误的地方测试下面的函数:functest(){print("whydoesthisfail")} 最佳答案 However,theerrorgoesawayifweuseSwift.printinsteadofjustprinttoinvokethefunctio

ios - 为什么我的代码只能在 DispatchQueue.main.async block 内运行?

这个问题在这里已经有了答案:CodeonlyworkswithinaDispatchQueue.main.asyncblock,why?(1个回答)关闭6年前。我编写这段代码是为了在用户开始编辑UITextField时选择所有文本:@IBActionfunconEditingBegin(_sender:Any){print("editingbegan")lettextfield=senderas!UITextFieldtextfield.selectAll(nil)}但它不会工作,直到我将textfield.selectAll(nil)行包含在DispatchQueue.main.as

core-data - 核心数据错误 : 'AnyObject' does not have a member named 'Generator'

我无法弄清楚这里出了什么问题。代码只是将username和password添加到实体“Users”,然后检索它。代码运行良好,直到我在其中添加了一个for循环。我什至尝试将AnyObject转换为NSManagedObject(据我所知这不是必需的)代码:importUIKitimportCoreDataclassViewController:UIViewController{overridefuncviewDidLoad(){super.viewDidLoad()//Doanyadditionalsetupafterloadingtheview,typicallyfromanib.v

ios - swift 错误 : Could not determine generated file paths for Core Data code generation:

我想运行应用程序后将我的Xcode文件移动到iCloudDrive,但出现此错误:无法确定核心数据代码生成的生成文件路径:ErrorDomain=NSCocoaErrorDomainCode=260“路径/Users/sebastianeppler/Library/MobileDocuments/com~apple~CloudDocs/Xcode上没有模型的当前版本/OnlyFun/OnlyFun/OnlyFun/OnlyFun.xcdatamodeld:"UserInfo={NSFilePath=/Users/sebastianeppler/Library/MobileDocumen

ios - 如何判断一条语句是否需要放在DispatchQueue.main.async中?

我正在尝试在viewDidLoad中获取subview的绑定(bind)大小:(canvas.bounds)最初我没有使用DispatchQueue.main.async包装器,并且没有正确返回大小。所以通过实验,我将语句包装在主线程队列中。然后它起作用了。我知道有一个指南说“UI相关操作需要放在主线程”。但这如何转化为实际的编码经验法则:如果我只是查询一个UI属性,比如获取边界大小,我是否需要将它包装在主线程队列中吗?如果我要更改UI属性(property),例如改变边界大小,我需要把它包在里面吗主线程队列?(我想可能是的)overridefuncviewDidLoad(){supe