在ObjC中设计基于块的API时,哪种方法更好,一个或两个完成块,一个是成功还是失败?
假设我们有一个方法以异步方式检索某个块,其中一个完成块将是:
- (void) retrieveSomethingCompletion:(void (^)(id retrievedObject, NSError *error))completionBlock;
Run Code Online (Sandbox Code Playgroud)
并且有成功/失败块(AFNetworking样式):
- (void) retrieveSomethingSuccess:(void(^)(id retrievedObject))successBlock failure:(void(^)(NSError *error))failureBlock;
Run Code Online (Sandbox Code Playgroud)
我总是使用第二种方法,但每种方案的优缺点是什么?你通常使用什么,为什么?