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:
たが、うまくいきませんでした (とにかくうまくいくとは思いませんでした)。クエリは、宛先ビュー コントローラーによって実行されるものです。それを機能させる方法についてのアイデアはありますか?