我想知道如何为我在Swift 3中创建的函数创建一个完成处理程序。
这就是我在升级到Swift 3之前的工作方式:
func注销(completionHandler:(成功:Bool)->;()){
back.userService.logout(
{(用户:AnyObject!)->;()在中
打印(“用户注销”)
completionHandler(成功:true)
},
错误:{(错误:错误!)->;()在中
打印(“服务器报告错误:\(错误)”)
completionHandler(成功:false)
})}
但现在我想不出目前最有效的方法
在Swift 3中,闭包中的函数参数标签消失了
删除所有出现的成功:
并添加@escaping
func注销(completionHandler:@escaping(Bool)->;()){
BackEnding?.userService.logout(
{中的用户
打印(“用户注销”)
completionHandler(true)
},
错误:{中有错误
打印(“服务器报告错误:\(错误)”)
completionHandler(false)
})
}
并使用它
注销(){成功登录
打印(成功)
}