码迷,mamicode.com
首页 > 其他好文 > 详细

关于block的回调使用-防止内存泄露问题

时间:2014-07-30 14:50:33      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:blcok   ios   iosblock   __weak   

block 一般用于回调,比如请求数据我们把asi封装好,只用block调数据就方便许多

获取到得数据如果要给之添加数据,切记不可以使用self.(这个数组) 或者_(这个数组) addObject 这个函数

因为我们要在block内部改变外部变量,我们需要在使用blcok回调之前 

声明

__weak typeof(self) wekSelf = self;  (在这里我使用wekSelf)

在block回调代码段内 一切self.(数组) 全部替换成wekSelf.防止内存泄露。


呈现一段代码:

 __weak typeof(self) wekSelf = self;

self.page = 1;

NSDictionary *dic = @{@"page": @(self.page)};

 [MyDataService postMonopolyGroupListRequest:dic cllback:^(id data) {

        

        if ([[data objectForKey:@"code"] integerValue] == 200) {

            NSArray *content = [[data objectForKey:@"content"]objectForKey:@"subject_lists"];

            

            if (content && ![content isKindOfClass:[NSNull class]]) {

            

                [wekSelf.groupArr removeAllObjects];

                

                for (NSDictionary *dic in content) {

                    MYGroup *model = [[MYGroup alloc] initWithJson:dic];

                    [wekSelf.groupArr addObject:model];

                }

                dispatch_async(dispatch_get_main_queue(), ^{

                    

                    [_circleTableView reloadData];


                    [_circleHeader performSelector:@selector(endRefreshing) withObject:nil afterDelay:0.1];

                });

                

            }

            

        }else if ([[data objectForKey:@"code"] integerValue] == 1000){

            

        }

    }];



关于block的回调使用-防止内存泄露问题,布布扣,bubuko.com

关于block的回调使用-防止内存泄露问题

标签:blcok   ios   iosblock   __weak   

原文地址:http://blog.csdn.net/han63504/article/details/38299031

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!