就是一个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];
}
}
解决方案 »
- 请问如何在另一个程序中引用一个没有Nib, xib的项目?谢谢!
- iPhone4S 开机密码忘记了,机子被锁定,求帮助!
- 基于iPhone手机开发的项目外包
- 关于alloc init
- SmartSvn管理工具 多人开发同一个程序
- app审核退回三次了,刚会用Re-Sysbomlicate,终于定位到问题,但是怎么解决呢?急死了
- ArcGIS RunTime SDK for IOS 只有ArcGIS Info没有ArcGIS Server能否开发APP并发布?
- ios 个人界面 TableView
- 请问故事版的简单问题,小弟刚刚接触故事版。大侠有空来看看!谢谢
- 3DTouch ShortCut 首次无法使用,求解决。
- 关于Objective-C中Method Swizzling完美方案的一些疑问
- Objective-C 字典怎么按值比较
推荐两种解决方案:
1、你可以选择收到第一个response后再发第二个请求,以此类推
2、同时发多个请求并且控制同时请求的最大数量。