Objective-C回调/块模式

时间:2013-02-06 20:59:27

标签: ios objective-c objective-c-blocks

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

我创建了一个EmployeeDirectoryManager,其中包含以下内容:

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

我想在loadDirectory方法上使用一个块,以便在使用loadDirectoryFromServer AFJSONRequestOperation的{​​{1}}时通知来电者success在它上面。

我需要一点指示如何实现这一点,或者如果我走错了路。

1 个答案:

答案 0 :(得分:1)

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

typedef void(^TypeComplitionHandler)(id result)

然后你可以将块传递给你的方法。例如

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