我想知道如何为我在Swift 3中创建的函数创建一个完成处理程序。 这是我在更新到Swift 3之前完成我的功能的方法:
GetFolderFromID
但现在我无法找出现在最好的方法。
答案 0 :(得分:64)
在Swift 3中,闭包中的函数参数标签已经消失。
删除所有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)
}
答案 1 :(得分:0)
无需在Swift 3中包含参数名称。自动完成建议添加@esacping
func Logout(completionHandler:@escaping (Bool) -> ()) {
backendless?.userService.logout(
{( user: Any?) -> (Void) in
print("User logged out.")
completionHandler(true)
},
error: { ( fault : Fault?) -> (Void) in
print("Server reported an error: \(fault)")
completionHandler(false)
})
}