Could not find an overload for 'println' that accepts the supplied arguments

帅比萌擦擦* 提交于 2019-12-11 03:14:44

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!