SASlideMenuライブラリを使用して、 iOSARCストーリーボードアプリに左側のスライドメニューを実装しています。コードで呼び出される3つのViewControllerを追加しましたが[self performSegueWithIdentifier:@"segueID" sender:self];
、スライドメニューは正常に機能しますが、各コントローラーのコンテンツをキャッシュする必要があるときに、View Controllerの新しいインスタンスを作成するたびに(たとえば、View Controller 1にはテキストフィールドがあります)、 :単語を書く場合、VCを変更した後、同じ単語をもう一度見つける必要があります!)。これは一般的なストーリーボードです。
これは、SASlideMenuViewControllerのUITableViewデリゲートです。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:
UITableViewCellStyleSubtitle reuseIdentifier:@"Cell"];
}
if (indexPath.row == 0) {
cell.textLabel.text = @"ViewController 1";
}
if (indexPath.row == 1) {
cell.textLabel.text = @"ViewController 2";
}
if (indexPath.row == 2) {
cell.textLabel.text = @"ViewController 3";
}
cell.textLabel.font = [UIFont systemFontOfSize:14];
cell.textLabel.textColor = [UIColor blackColor];
cell.imageView.image = [UIImage imageNamed:@"image.png"];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if(indexPath.row==0)
{
[self performSegueWithIdentifier:@"segueID1" sender:self]; // I NEED TO RETRIEVE SAME VIEW CONTROLLER 1 CONTENT AFTER ANOTHER VIEW CONTROLLER CALL!
}
if(indexPath.row==1)
{
//[self performSegueWithIdentifier:@"segueID2" sender:nil]; // I NEED TO RETRIEVE SAME VIEW CONTROLLER 2 CONTENT AFTER ANOTHER VIEW CONTROLLER CALL!
}
if(indexPath.row==2)
{
//[self performSegueWithIdentifier:@"segueID3" sender:nil]; // I NEED TO RETRIEVE SAME VIEW CONTROLLER 3 CONTENT AFTER ANOTHER VIEW CONTROLLER CALL!
}
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
そして、これはアプリのスライドメニューのスクリーンショットです:
著者のチュートリアルでは、次のように読むことができます。「動的セルプロトタイプを使用している場合、または静的セルを使用していて、コンテンツビューコントローラーをキャッシュする場合は、目的のindexPathにリンクされたsegueIdForIndexPath:メソッドで返される識別子を割り当てます。 」しかし、頭がおかしくなり、正確なポイントがわかりません。これを解決するための正確なコードを提供していただけますか?他に追加するものがありますが、どこにありますか?この状況を再現する必要があります。左側のメニューからViewControllerを呼び出すたびに、前のVC呼び出しの前に残したものと同じものを取得する必要があります。ありがとう!