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

标签 ios objective-c swift swift2 quickblox

我是一名新程序员。我开始学习没有 objective-c 的swift 2.0,我猜这是一个错误。

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

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

最佳答案

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

所以在 swift 中,它基本上应该是这样的:

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

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

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

关于ios - 如何将这行代码转换为 swift 2.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38282936/

相关文章:

ios - 如何从字符串中获取 NSDate

iOS Swift 从普通导航栏过渡到透明栏

ios - 将 collectionview 从函数传递到 Selector (UILongPressGestureRecognizer)

swift - 我怎样才能让我的 iPhone 应用程序使用设备屏幕尺寸以编程方式快速支持多个 iOS 版本和设备

ios - phonegap-push-plugin 在 iOS 中不起作用

iphone - iOS : How to allign UITableView to bottom?

ios - 扩展 UITableViewCell 重叠

iOS 9 : Gesture Recognizer was setup in a storyboard/xib to be added to more than one view (not working)

ios - 使用未声明的类型 'SideMenuNavigationControllerDelegate' 错误

ios - OCMockito 验证和 NSError 的编译错误**