【发布时间】:2011-09-10 10:04:47
【问题描述】:
我正在尝试在某些数据加载期间更改单元格中的访问器:当用户选择单元格时,我从 JSON 服务加载数据,并且在此加载期间我想将微调器显示为访问器。加载后,下一个视图控制器会显示需要的内容。我使用了这段代码,但访问器没有改变(即使我在从方法返回之前在线程中等待):
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
UIActivityIndicatorView *activityView =
[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
[activityView startAnimating];
UIView *oldAccessorView = [cell accessoryView];
[cell setAccessoryView:activityView];
[tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject: indexPath] withRowAnimation:UITableViewRowAnimationFade];
MembersViewController *membersViewController = [[MembersViewController alloc] init];
membersViewController.title = @"Members";
// load the members, must be done in a separate thread and must change the cell accessor type to a spinner...
JSONLoader *loader = [[JSONLoader alloc] init];
NSString *membersURL = [NSString stringWithFormat:@"%@/members/all.json", jug.apiURL];
NSMutableArray *members = [loader getMembersFromURL:membersURL];
membersViewController.members = members;
[loader release];
[members release];
[self.navigationController pushViewController:membersViewController animated:YES];
[membersViewController release];
// restore old accessor view
[NSThread sleepForTimeInterval:5];
[activityView stopAnimating];
[activityView release];
[cell setAccessoryView:oldAccessorView];
【问题讨论】:
标签: ios uitableview