В настоящее время я пытаюсь использовать Venmo-iOS-SDK для приложения, над которым я работаю. SDK находится в объекте C, а я пытаюсь использовать его с быстрым приложением.
У меня проблемы с переводом синтаксиса блока завершения obj-c на быстрый. Я нашел образец кода, реализующий функцию, которую хочу использовать.
- (IBAction)logInButtonAction:(id)sender {
[[Venmo sharedInstance] requestPermissions:@[VENPermissionMakePayments,
VENPermissionAccessProfile]
withCompletionHandler:^(BOOL success, NSError *error) {
if (success) {
NSLog("Success")
} else {
NSLog("Failure")
}
}];
}
Я пробовал сделать это
@IBAction func loginButtonAction(sender: AnyObject){
Venmo.sharedInstance().requestPermissions([VENPermissionMakePayments, VENPermissionAccessPhone], withCompletionHandler: { (success: Bool, error: NSErrorPointer) -> Void in
if success{
println("Yes")
}else{
println("No")
}
})
}
Но получите ошибку
«Невозможно вызвать 'requestsPermissions со списком аргументов типа' ([String], withCompletionHandler: (Bool, NSError) -> Void)»
Это проблема с тем, как я перевожу блок? Или что-то другое. Глядя на Venmo-SDK, функции obj-C определены следующим образом
- (void)requestPermissions:(NSArray *)permissions withCompletionHandler:(VENOAuthCompletionHandler)handler;
и
- (void)requestPermissions:(NSArray *)permissions withCompletionHandler:(VENOAuthCompletionHandler)handler;