Trying to get completion block back from swift code, but looks like I'm doing something wrong.
My objC code which I want to replicate for my swift view controller TestViewController
I just need Bool
and BMError
back in completion block
Code in which I'm doing wrong:
TestViewController *changeVC = [[TestViewController alloc] initWithCompletionData:completion ];
My swift code which I tried to replicate like objc function:
@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
}
}
}
You can call TestViewController.completionData
like this: self.completionData?(false, error)
or self.completionData?(false, nil)
if you don't want to pass error
.