Grand Central Dispatch で AWS SDK を使用getObject:
し、同じスレッドで同期および更新 UI を呼び出しているようです。getObject:
バックグラウンド スレッドで呼び出し、メイン スレッドで UI を更新する必要があります。コードは次のようになります。
dispatch_async( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
for(int i=0;i<ads.count;i++){
NSString *phot =[ads objectAtIndex:i];
NSLog(@"hna%@",phot);
S3GetObjectRequest *getObjectRequest = [[S3GetObjectRequest alloc] initWithKey:phot withBucket:@"olfactifPhoto"];
S3GetObjectResponse *getObjectResponse = [[AmazonClientManager s3] getObject:getObjectRequest];
dispatch_async( dispatch_get_main_queue(), ^{
UIImage *tampon = [[UIImage alloc] initWithData:getObjectResponse.body];
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:tampon];
tempImageView.frame = CGRectMake(10,currentXLocation, 300, 310);
NSLog(@" il est dans la position %f",tempImageView.frame.origin.y);
self.monImage = tempImageView;
[scroll addSubview:monImage];
});
}
});