ios - Objective-C 回调/ block 模式

标签 ios objective-c objective-c-blocks

我想做的是从远程服务器加载一个人员列表(JSON 格式),将文件保存到磁盘上,然后解析结果并将 NSArray * 返回给来电者。

我创建了一个 EmployeeDirectoryManager,它具有以下内容:

- (NSArray *)loadDirectory:(BOOL)refreshFromServer;
- (void)loadDirectoryFromFile;
- (void)loadDirectoryFromServer;

我想在 loadDirectory 方法上使用一个 block ,以便在使用 AFJSONRequestOperationloadDirectoryFromServer 时通知调用者其中有一个 success block 。

我需要一些关于如何实现它的指导,或者如果我走错了路。

最佳答案

要在您的方法中使用 block 作为完成处理程序,首先您需要定义新类型

typedef void(^TypeComplitionHandler)(id 结果)

然后您可以将 block 传递给您的方法。例如

- (void)loadDirectoryFromFileComplitionHandler:(TypeComplitionHandler)complition {
    complition(@"done");
}

关于ios - Objective-C 回调/ block 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14738667/

相关文章:

ios - 如何快速将数组连接到另一个 View Controller ?

ios - 如何设置要放入 tableView 单元格中的 UIImage 的大小

Java 到 Objective-C RSA 实现

objective-c - NSComparator 错误 : incompatible block pointer types initializing

ios - Swift 在递归函数中不返回正确的值

ios - 仅在第二次调用 startUpdatingLocation 后获取当前位置

ios - CorePlot - 调用 barTouchUpAtRecordIndex 后更改 x 轴标签 :

ios - 使用 NSOperationQueue 在线程之间移动变量

ios - 在 UICollectionView 中选择单元格时将值传递给另一个 ViewController