ios问题,哪位大神来帮我看看block的问题
142xy 2017-04-10 10:18:18
就是一个for循环里面有block,但block是异步的,我打印了一下,block里面的i并不是0.1.2.3....,每次都不一样,怎么解决。直接上代码
//获得图片数据
- (void) getImageData{
__block int count=0;
_newsImage = [NSMutableArray arrayWithCapacity:10];
__weak typeof(self) weakSelf = self;
for (int i = 0; i<self.newsID.count; i++) {
MNewsImgRequest *imageRequest = [[MNewsImgRequest alloc] init];
imageRequest.newsID = self.newsID[i];
// int index=i;
[SZWebService sendMyRequest:imageRequest WithRequestName:NSStringFromClass([imageRequest class]) completionHandler:^(MResponse *resp) {
NSLog(@"---%d",i);
if(resp.status == MResponseStatusSuccess) {
//应答无误,处理数据更新画面
count++;
MNewsImgResponse *imageResponse = (MNewsImgResponse *)resp;
UIImage *image = [UIImage imageWithWebPData:imageResponse.imageData ];
if (image != nil) {
[weakSelf.newsImage addObject:image];
}
// _newsImage[index]=image;
if (count == weakSelf.newsID.count) {
[weakSelf.tableView reloadData];
}
}else{
//应答错误,显示错误信息
NSLog(@"图片数据错误信息是:%@",resp.message);
}
}isRepeat:NO];
}
}