我在使用 UITableView 时遇到了麻烦,并从它中解脱出来。表格视图包含一个地点列表,当单击一个单元格时,它会转到该地点的照片列表。加载这些照片的信息需要一些时间,所以它会在地点列表上停留一段时间。我的问题是我不想在加载时将用户冻结在应用程序之外,如果用户决定切换他们想要的位置,我希望他们能够这样做。是否有一个简单的解决方案,还是需要重新设计?这是单击单元格时调用的内容:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
self.activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
[self.activityIndicator startAnimating];
[[tableView cellForRowAtIndexPath:indexPath] setAccessoryView:self.activityIndicator];
self.query = ^{return [FlickrFetcher photosInPlace:self.locationDataArray[indexPath.row] maxResults:50];};
self.locationSelected = [[self.locationDataArray[indexPath.row] valueForKeyPath:@"_content"] componentsSeparatedByString:@","][0];
[self performSelector:@selector(pushView:) withObject:tableView afterDelay:0.0]; // Allows spinner to start spinning before the segue is actually performed.
}
- (void)pushView:(UITableView *)tableView {
[self performSegueWithIdentifier:@"Display Image List" sender:self];
}
我尝试过分派到performSegueWithIdentifire:sender:
主队列,但没有运气(无论如何我认为它不会起作用)。查询是目标视图控制器执行的内容。关于如何让它工作的任何想法?