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


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

猜你喜欢

转载自iaiai.iteye.com/blog/2112391