如何将这行代码转换为swift 2.0?

时间:2016-07-09 14:40:19

标签: ios objective-c swift swift2 quickblox

我是一名新程序员。我开始学习没有客观c的swift 2.0,我认为这是一个错误。

我正在尝试将quickblox集成到我的swift应用程序中,但是这行代码确实让我很困惑。我想知道是否有人能帮助我

- (void (^)(QBResponse *response, QBUUser *user))successBlock
{
    return ^(QBResponse *response, QBUUser *user) {
        // Login succeeded
    };
}

1 个答案:

答案 0 :(得分:2)

该函数返回一个块函数,它有两个参数:响应和用户。它的返回类型是无效的。

所以在迅速,它基本上应该是这样的:

func successBlock() -> (QBResponse, QBUUser) -> Void {
    return { (response, user) in
        //Login succeeded.
    }
}

它也可以转换为计算属性,因为它没有副作用,也不依赖于任何参数:

var successBlock: (QBResponse, QBUUser) -> Void {
    return { (response, user) in
        //Login succeeded.
    }
}