试图从swift代码中获取完成块,但看起来我做错了。
我想为我的swift视图控制器复制的objC代码TestViewController
我只需要BoolBMError回到完成区
我做错的代码:

TestViewController *changeVC = [[TestViewController alloc] initWithCompletionData:completion ];

我试图复制的swift代码类似于objc函数:
@objc public class TestViewController {

    var completionData: ((Bool, BMErrors?) -> Void)?

    public required init?(coder aDecoder: NSCoder) {
        fatalError("Not implemented")
    }

    @objc public init(completionData completion: ((Bool, BMErrors?) -> Void)?) {
        super.init(nibName: nil, bundle: nil)
        self.completionData = completion
    }

    func verifySuccess(result: QuestionResult, error: BMErrors?) {

        if (result.success) {
            // how to pass completionData
        }
    }

}

最佳答案

如果您不想通过TestViewController.completionData,可以这样调用self.completionData?(false, error)self.completionData?(false, nil)error

10-07 23:25