Objective-C回调/块模式
我要做的是从远程服务器加载人员列表(JSON格式),将文件保存到磁盘上,然后解析结果并将NSArray *
返回给调用者。
我创建了一个EmployeeDirectoryManager
,它具有以下内容:
- (NSArray *)loadDirectory:(BOOL)refreshFromServer; - (void)loadDirectoryFromFile; - (void)loadDirectoryFromServer;
我想在loadDirectory
方法上使用一个块,以便在loadDirectoryFromServer
时通知调用者,它使用AFJSONRequestOperation
,它具有success
块。
我需要一个关于如何实现这一点的方向,或者如果我走错了路。
要在方法中使用块作为完成处理程序,首先需要定义新类型
typedef void(^TypeComplitionHandler)(id result)
然后你可以将块传递给你的方法。 例如
- (void)loadDirectoryFromFileComplitionHandler:(TypeComplitionHandler)complition { complition(@"done"); }