我想在长期操作完成后返回一些值。但此外,我想将逻辑和 gui 分开。
例如; 我有两节课
- SomeServices.swift 有一个名为“getDataFromService ...”的方法
- MyTableViewController.swift 将显示“getDataFromService”的结果
因此,之前在 Objective-C 中,我只是在 SomeServices 中添加了一个方法,如下所示:
(void)getDataFromService:(void (^)(NSArray *, NSError *))completionBlock{ ...... }
在这个方法中,我刚刚调用completionBlock(myData, myError)
了将我的值返回给 tableviewcontroller。
我必须在 SomeServices.swift 中定义的等效闭包是什么?如何在 MyTableViewController 中调用它?
我知道如何调用像这样的简单闭包:
....({
responseData, error in
if(!error){
//Do something
}
})
但我不知道如何定义一个与completionBlock 等效的闭包。
任何帮助,将不胜感激