CustomCell と呼ばれるカスタム UITableView サブクラスがあります。セルがクリックされると、UIActivityIndicator が表示され、プログラムがオフになり、選択内容で何かを計算しようとします。計算が終わったら、インジケーターを非表示にして、ディスコールマークをチェックマークに設定したいと思います。
私は次のように実装しました:
内部 didSelectRowAtIndexPath:
CustomCell *thisCell = [[CustomCell alloc] init];
thisCell = (CustomCell *)[tableView cellForRowAtIndexPath:indexPath];
[[thisCell indicator] setHidden:NO];
[[thisCell indicator] startAnimating];
[thisCell setAccessoryType:UITableViewCellAccessoryNone];
NSString *selection = [[thisCell lblName] text];
[[[masterViewController loadingQueue] objectForKey:@"myFriends"] setObject:thisCell forKey:selection];
そして、計算完了メソッド内:
CustomCell *cell=[[[masterViewController loadingQueue] objectForKey:@"myFriends"] objectForKey:selection];
[[cell indicator] setHidden:YES];
[cell setAccessoryType:UITableViewCellAccessoryCheckmark];
インジケータは cellForRowAtIndexPath で適切に表示されますが、非表示にはならず、完了したメソッドではアクセサリ タイプは変更されません。エラーは表示されません。