Objective-C中的Block回调模式

如果读者之前用过SSH框架的话,看到OC中的Block回调,会感觉非常的亲切,和Java中的接口回调像极了。还是那句话,上些Block的回调代码最为直接。下面的demo是根据笔者的理解,自己设计的一个小小的Block回调的demo,难免会有不足之处,还望批评指正,尊重原创,转载请注明出处。

controller中调用httpUtil的方法:

[HttpUtil get:@"" success:^(NSString* value){
        NSLog(@"value: %@", value);
    }];

HttpUtil.h:

//定义Block块类型的变量
typedef void (^BlockType) (NSString* value);

@interface HttpUtil : NSObject

+(void)get:(NSString*)url success:(BlockType) success;

@end

HttpUtil.m:

@implementation HttpUtil

+(void)get:(NSString*)url success:(BlockType)success{
    ...
    [manager GET:@"url" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
        success([NSString stringWithFormat:@"%@",responseObject]);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error: %@", error);
    }];
}

@end

这是我写的最简单的一个回调方法,希望大家能看懂

相关推荐