我想知道如何为在Swift 3中创建的函数创建完成处理程序。这就是我在更新到Swift 3之前就完成函数的方式:
func Logout(completionHandler: (success: Bool) -> ()) { backendless.userService.logout( { ( user : AnyObject!) -> () in print("User logged out.") completionHandler(success: true) }, error: { ( fault : Fault!) -> () in print("Server reported an error: \(fault)") completionHandler(success: false) })}
但是现在我无法找出目前可行的最佳方法。
在Swift 3中,闭包中的函数参数标签不见了。
删除所有出现success:并添加@escaping
success:
@escaping
func Logout(completionHandler:@escaping (Bool) -> ()) { backendless?.userService.logout( { user in print("User logged out.") completionHandler(true) }, error: { fault in print("Server reported an error: \(fault)") completionHandler(false) }) }
并使用它
Logout() { success in print(success) }