问题
I'm porting my Objective-C code to Swift and got stuck with a weird error. I'm using a bridged version of https://github.com/AFNetworking/AFOAuth1Client if it helps.
Can you please point me what's wrong? Thank you.
A working Objective-C code:
[oauthClient authorizeUsingOAuthWithRequestTokenPath:@"oauth_request.php"
userAuthorizationPath:@"oauth_authorize.php"
callbackURL:[NSURL URLWithString:@"oob"]
accessTokenPath:@"oauth_access.php"
accessMethod:@"POST"
scope:nil
success:^(AFOAuth1Token *accessToken, id responseObject) {
NSLog(@"Success: %@", accessToken);
} failure:^(NSError *error) {
NSLog(@"Error: %@", error);
}];
}
A reference method prototype in Objective-C:
- (void)authorizeUsingOAuthWithRequestTokenPath:(NSString *)requestTokenPath
userAuthorizationPath:(NSString *)userAuthorizationPath
callbackURL:(NSURL *)callbackURL
accessTokenPath:(NSString *)accessTokenPath
accessMethod:(NSString *)accessMethod
scope:(NSString *)scope
success:(void (^)(AFOAuth1Token *accessToken, id responseObject))success
failure:(void (^)(NSError *error))failure;
A template with Swift code:
oauthClient.authorizeUsingOAuthWithRequestTokenPath(
requestTokenPath: String?,
userAuthorizationPath: <#String?#>,
callbackURL: <#NSURL?#>,
accessTokenPath: <#String?#>,
accessMethod: <#String?#>,
scope: <#String?#>,
success: ((AFOAuth1Token!, AnyObject!) -> Void)?,
failure: ((NSError!) -> Void)?
)
A broken Swift code:
oauthClient.authorizeUsingOAuthWithRequestTokenPath(
requestTokenPath: "oauth_request.php",
userAuthorizationPath: "oauth_authorize.php",
callbackURL: "oob",
accessTokenPath: "oauth_access.php",
accessMethod: "POST",
scope: nil,
success: { (accessToken: AFOAuth1Token!, responseObject: AnyObject!) in
println("Success")
},
failure: { (error: NSError!) in
println("Failure")
}
)
回答1:
As Matt Gibson suggested:
oauthClient.authorizeUsingOAuthWithRequestTokenPath(
"oauth_request.php",
userAuthorizationPath: "oauth_authorize.php",
callbackURL: NSURL(string: "oob"),
accessTokenPath: "oauth_access.php",
accessMethod: "POST",
scope: nil,
success: { (accessToken: AFOAuth1Token!, responseObject: AnyObject!) in
println("Success")
},
failure: { (error: NSError!) in
println("Failure")
}
)
Works like a charm! Thanks a lot.
来源:https://stackoverflow.com/questions/24223970/could-not-find-an-overload-for-println-that-accepts-the-supplied-arguments