草庐IT

Completion

全部标签

Swift 可选的转义闭包

编译器错误Closureuseofnon-escapingparameter'completion'mayallowittoescape,这是有道理的,因为它将在函数返回后调用。funcsync(completion:(()->())){self.remoteConfig.fetch(withExpirationDuration:TimeInterval(expirationDuration)){(status,error)->Voidincompletion()}}但是如果我将闭包设为可选则不会出现编译器错误,这是为什么呢?函数返回后仍然可以调用闭包。funcsync(complet

ios - 呈现具有模糊效果的 View Controller

我正在以模态方式呈现一个具有模糊背景效果的ViewController。iOS10/XCode8引入了我的动画问题。这是演示代码:letmodalVC=ModalViewController(nibName:"ModalViewController",bundle:nil)modalVC.modalTransitionStyle=.CrossDissolvemodalVC.modalPresentationStyle=.OverFullScreenpresentViewController(modalVC,animated:true,completion:nil)在ModalViewC

ios - 呈现具有模糊效果的 View Controller

我正在以模态方式呈现一个具有模糊背景效果的ViewController。iOS10/XCode8引入了我的动画问题。这是演示代码:letmodalVC=ModalViewController(nibName:"ModalViewController",bundle:nil)modalVC.modalTransitionStyle=.CrossDissolvemodalVC.modalPresentationStyle=.OverFullScreenpresentViewController(modalVC,animated:true,completion:nil)在ModalViewC

ios - 呈现一个 View Controller ,关闭它并在 Swift 中呈现一个不同的 View Controller

我有一个RootViewController,它有一个按钮,当用户按下它时,会显示另一个ViewController。第二个Controller有一个关闭选项,它只返回RootViewController,还有一个按钮,当用户触摸它时,它会关闭当前ViewController,因此它会返回RootViewController一秒钟并显示另一个ViewController。转到我使用的第一个Controller:letvc=FirstController()self.present(vc,animated:true,completion:nil)当我在另一个ViewController中

ios - 呈现一个 View Controller ,关闭它并在 Swift 中呈现一个不同的 View Controller

我有一个RootViewController,它有一个按钮,当用户按下它时,会显示另一个ViewController。第二个Controller有一个关闭选项,它只返回RootViewController,还有一个按钮,当用户触摸它时,它会关闭当前ViewController,因此它会返回RootViewController一秒钟并显示另一个ViewController。转到我使用的第一个Controller:letvc=FirstController()self.present(vc,animated:true,completion:nil)当我在另一个ViewController中

swift - 以下 block 属性的 swift 属性 block 声明是什么?

在Objective-C中我这样做:@property(nonatomic,copy)void(^completion)(MyObject*obj);快速执行此操作的正确方法是什么? 最佳答案 相应的闭包属性将声明为classMyClass{varcompletion:((MyObject)->Void)?//or...!foranimplicitlyunwrappedoptional}你可以像这样设置属性completion={(obj:MyObject)->Voidin//dosomethingwithobj...}可以缩短(由

swift - 以下 block 属性的 swift 属性 block 声明是什么?

在Objective-C中我这样做:@property(nonatomic,copy)void(^completion)(MyObject*obj);快速执行此操作的正确方法是什么? 最佳答案 相应的闭包属性将声明为classMyClass{varcompletion:((MyObject)->Void)?//or...!foranimplicitlyunwrappedoptional}你可以像这样设置属性completion={(obj:MyObject)->Voidin//dosomethingwithobj...}可以缩短(由

ios - 在 Swift 中显示和关闭模态视图 Controller

当按下按钮时,我想通过使用模式转换样式CoverVertical在两个ViewController之间切换,然后关闭它。那里有很多关于如何在objective-c中执行此操作的信息,但在Swift中找不到任何好的信息。到目前为止,我已经这样做了,但我认为这是不正确的:@IBActionfuncinsertStatus(sender:UIButton){varStatusVC:StatusViewController=StatusViewController()varmodalStyle:UIModalTransitionStyle=UIModalTransitionStyle.Cove

ios - 在 Swift 中显示和关闭模态视图 Controller

当按下按钮时,我想通过使用模式转换样式CoverVertical在两个ViewController之间切换,然后关闭它。那里有很多关于如何在objective-c中执行此操作的信息,但在Swift中找不到任何好的信息。到目前为止,我已经这样做了,但我认为这是不正确的:@IBActionfuncinsertStatus(sender:UIButton){varStatusVC:StatusViewController=StatusViewController()varmodalStyle:UIModalTransitionStyle=UIModalTransitionStyle.Cove

ios - swift 3.0 错误 : Escaping closures can only capture inout parameters explicitly by value

我正在尝试将我的项目更新到Swift3.0,但我遇到了一些困难。我收到下一个错误:“转义闭包只能按值显式捕获inout参数”。问题出在这个函数中:fileprivatefunccollectAllAvailable(_storage:inout[T],nextUrl:String,completion:@escapingCollectAllAvailableCompletion){ifletclient=self.client{let_:T?=client.collectionItems(nextUrl){(resultCollection,error)->Voidinguarderr