Я использую следующие три метода делегата для извлечения изображений из S3.Они вызываются в представленном порядке.
-(void)request:(AmazonServiceRequest *)request didReceiveResponse:(NSURLResponse *)response;
-(void)request:(AmazonServiceRequest *)request didReceiveData:(NSData *)data;
-(void)request:(AmazonServiceRequest *)request didCompleteWithResponse:(AmazonServiceResponse *)response;
Я заметил, что если изображение большого размера, иногда didReceieveResponse будет вызываться до завершения предыдущего didCompleteWithResponse.Это облажает NSData, полученный во втором делегате.
Как мне это исправить?Все три вызываются в итерации оператора for для каждой итерации.вот так:
for (NSString *name in array){
@try {
S3GetObjectRequest *gor = [[S3GetObjectRequest alloc]initWithKey:name withBucket:[Constants pictureBucket]];
[gor setDelegate:self];
[s3 getObject:gor];
}