前一段时间比较忙没顾上搬博客 简书上面的博客会陆续删除
我们在写程序的时候 闭包能够使代码更加的简洁 相信大家都用过MJRefresh吧 下拉刷新 666
ConfigureTableView * tableView = [[ConfigureTableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];
[self.view addSubview:tableView];
tableView.dataSource = self;
tableView.delegate = self;
[tableView registerClass:[ListNormalCell class] forCellReuseIdentifier:@"NormalCellID"];
[tableView registerClass:[ListFeatureCell class] forCellReuseIdentifier:@"FeatureCellID"];
[tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(dropDownView.mas_bottom);
make.left.mas_equalTo(self.view.mas_left);
make.bottom.mas_equalTo(self.view.mas_bottom);
make.right.mas_equalTo(self.view.mas_right);
}];
tableView.mj_header= [MJRefreshNormalHeader headerWithRefreshingBlock:^{
//加载数据操作
}
tableView.mj_header= [MJRefreshNormalHeader headerWithRefreshingBlock:^{
//加载数据操作
}
我们发现 本类中的dealloc 不会发生调用操作 有的人说不就是循环引用了吗 这还用问 对于这种回答 呢 我只想呵呵一下
上面的代码 Masonry约束构造中也是使用了self.view 为什么不会循环引用了 对于这种问题 解决方式旧看见block就使用 weak 这种方法是的 确实能够避免
BUT 本人强烈鄙视!!!!!!!!因为根本就不知道为何循环引用 在那里产生循环引用的 所以大家还是有必要仔细往下看看