J'essaie actuellement d'utiliser le Venmo-iOS-SDK pour une application sur laquelle je travaille. Le SDK est dans l'objectif-C, alors que j'essaie de l'utiliser avec une application rapide.Syntaxe du bloc Swift avec fonction Objective-C [Venmo-iOS-SDK]
Je n'arrive pas à traduire la syntaxe d'un bloc obj-c d'achèvement en swift. J'ai trouvé un exemple de code implémentant une fonction que je veux utiliser.
- (IBAction)logInButtonAction:(id)sender {
[[Venmo sharedInstance] requestPermissions:@[VENPermissionMakePayments,
VENPermissionAccessProfile]
withCompletionHandler:^(BOOL success, NSError *error) {
if (success) {
NSLog("Success")
} else {
NSLog("Failure")
}
}];
}
J'ai essayé de faire ce
@IBAction func loginButtonAction(sender: AnyObject){
Venmo.sharedInstance().requestPermissions([VENPermissionMakePayments, VENPermissionAccessPhone], withCompletionHandler: { (success: Bool, error: NSErrorPointer) -> Void in
if success{
println("Yes")
}else{
println("No")
}
})
}
Mais obtenir l'erreur
« ne peut invoquer 'requestsPermissions avec une liste d'arguments de type ' ([chaîne], withCompletionHandler: (Bool, NSError) -> Void) '
Est-ce un problème avec la façon dont je traduis le bloc? Ou autre chose. En regardant le Venmo-SDK les fonctions Obj-C sont définies comme celui-ci
- (void)requestPermissions:(NSArray *)permissions withCompletionHandler:(VENOAuthCompletionHandler)handler;
et
- (void)requestPermissions:(NSArray *)permissions withCompletionHandler:(VENOAuthCompletionHandler)handler;
Cela a fonctionné merci !! – user3011685