したがって、これにアプローチする方法はたくさんありますが、5つのビューコントローラーを使用する必要があるという質問に具体的に答えるには...いいえ。その必要はありません。質問の表示を処理し、そのコントローラーの新しいインスタンスをさまざまな質問でナビゲーションスタックにプッシュし続ける「QuestionViewController」を作成できます。
.h
@interface QuestionViewController : UIViewController
@property (nonatomic, strong) NSString *question;
- (IBAction) nextQuestion:(id)sender;
@end
.m
#import "QuestionViewController.h"
#import "AppDelegate.h"
@implementation QuestionViewController
@synthesize question = _question;
- (IBAction)nextQuestion:(id)sender
{
AppDelegate *delegate = (AppDelegate*) [[UIApplication sharedApplication] delegate];
QuestionViewController *vc = [[QuestionViewController alloc] initWithNibName:@"QuestionViewController"
bundle:nil];
vc.question = [delegate getNextQuestion];
[self.navigationController pushViewController:vc
animated:YES];
}
@end
したがって、私の例では、アプリ デリゲートが次に来る質問を管理し、質問ビュー コントローラーは単純に次の質問をフェッチし、それ自体の新しいインスタンスをビュー スタックにプッシュします。ボタンをnextQuestion:(id)senderアクションに接続できます。「コントローラーごとに 1 つの質問」という考え方に固執する場合は、これで十分です。
私が言ったように、私はどのタイプのデザインが最適かということを検討しているわけではありません。あなたが説明した方法でそれをやりたいのなら…と言っているだけです...これにより、同様のコントローラーをたくさん作成する必要がなくなります。
お役に立てれば!