だから私はカスタム UITableView (BubbleTableView) のユーザーの写真を遅延ロードしようとしています
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
AFImageRequestOperation *operation = [AFImageRequestOperation imageRequestOperationWithRequest:request imageProcessingBlock:nil success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
NSLog(@"Success");
UIBubbleTableViewCell *cell = (UIBubbleTableViewCell *)[self.bubbleTableView cellForRowAtIndexPath:indexPath];
NSBubbleData *data = [[NSBubbleData alloc] init];
data = [cell data];
data.avatar = [UIImage imageNamed:@"send.png"];
[self.profileImages setObject:image forKey:[self.commUsers objectAtIndex:x]];
//Success
[cell setData:data];
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
//Failed
NSLog(@"ERROR: %@", response);
}];
[operation start];
アバターを別の画像に変更しようとしていますが、ネットから取得した画像ではなく、ローカルに保存した画像を使用しています (画像更新の問題を絞り込むため)。
だから私が置くと
UIBubbleTableViewCell *cell = (UIBubbleTableViewCell *)[self.bubbleTableView cellForRowAtIndexPath:indexPath];
NSBubbleData *data = [[NSBubbleData alloc] init];
data = [cell data];
data.avatar = [UIImage imageNamed:@"send.png"];
[self.profileImages setObject:image forKey:[self.commUsers objectAtIndex:x]];
//Success
[cell setData:data];
AFImageRequestOperation ブロック内では、画像は更新されません。ただし、まったく同じコードをブロックの外に置くと、画像が更新されます。ブロックの仕組みについて何かが欠けているように感じます。これを修正するにはどうすればよいですか?
ありがとう!