IOS block dispatch_queue

研究了3天的block使用,今天终于写出了自己的第一个block接口请求,完整的接口调用和定义,

首先在interface中用dispatch——queue来处理请求,然后通过block进行回调,

再在调用的时候处理block回调回来的数据就行了,非常的简洁,代码量减少很多,且效率极高,嘿嘿。

第一步定义要回调的block

typedef void (^getCommentList)(id data,BOOL succeed);

data就是回调时传过去的服务器数据,succeed表示是否成功,当然也可以定义其它参数了

第二步用dispatch来创建队列请求数据

dispatch_queue_t queue = dispatch_queue_create("GetCommentList", NULL);  

    dispatch_async(queue, ^(){

        NSURL *url=[NSURL URLWithString:URL_GetComments];

        ASIFormDataRequest *request=[[[ASIFormDataRequest alloc] initWithURL:url] autorelease];

        [request setPostValue:uid forKey:UnloginView_id];   

        [request start];

       NSMutableArray *content =[[request responseString] JSONValue];

        block(content,YES);

    });  

    dispatch_release(queue);

content就是请求回来的数据,经过解析后用block();回调。

第三步在需要创建请求的类里面实现这个方法

[MP_InterfaceShare getCommentList:str_mid block:^(id data, BOOL succeed) {

        self.arr_objects = (NSMutableArray *)data;

        dispatch_async(dispatch_get_main_queue(), ^(){

            [self initWithControl];

            [self stopTheHoldFire];

        });       

    }];

这里的data就是刚才的content,如果需要处理UI更新的话就使用dispatch_get_main_queue回到主线程。

这样就完整了来了一次请求和接受数据。

哇 哦。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孙启超

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值