Search code examples
objective-cswiftquickblox

unable to convert blocks of objc to swift


While converting this code to swift I get error and I am unable to do so. please help me converting this piece of objc code to swift.

[QBRequest createSessionWithSuccessBlock:^(QBResponse *response, QBASession *session) {
    // session created

    QBUUser *user = [QBUUser user];
    user.password = @"azhhdsf";
    user.login = @"dsfgsgf";

    // Registration/sign up of User
    [QBRequest signUp:user successBlock:^(QBResponse *response, QBUUser *user) {
        // Sign up was successful
    } errorBlock:^(QBResponse *response) {
        // Handle error here
        NSLog(@"error while signing up with QB");
    }];
} errorBlock:^(QBResponse *response) {
    // handle errors
    NSLog(@"%@", response.error);
}];

In swift what I did is:

QBRequest.createSessionWithSuccessBlock({response: QBResponse!,session: QBASession! in
            let user = QBUUser()
            user.ID = 125345
            user.password = "kjjhfdsf"

            QBRequest.signUp(user, successBlock: nil, errorBlock: nil)
            }, errorBlock: {(response: QBResponse!) in
                println("error")
        })

sorry for that silly question but I am not able to perform it.


Solution

  • It could look like this:

    QBRequest.createSessionWithSuccessBlock({ (response: QBResponse, session: QBASession) in
        let user = QBUUser()
        user.password = "azhhdsf"
        user.login = "dsfgsgf"
        QBRequest.signUp(user, successBlock: {(response: QBResponse, user: QBUUser) in
                // Sign up was successful
            }, errorBlock: {(response: QBResponse) in
                // Handle error here
                NSLog("error while signing up with QB")
        })}, errorBlock: {(response: QBResponse) in
            // handle errors
            NSLog("%@", response.error)
        }
    )