0

私は iOS 開発の初心者です。異なるビュー間でデータを渡すことに取り組んでいます...

10 個の質問のリストがあるとします。各質問には異なるページがあり、UI には、質問ごとに収集された入力とともに、前へ/次へのボタンが含まれます。

各質問を表示し、「ステップ」でデータを収集してから、最終的にすべてを 1 つのエントリとして Core Data モデルに保存するにはどうすればよいですか?

これがどのように行われるか教えていただけますか?とても有難い!ありがとう!

4

2 に答える 2

1

inafzigerが述べたように、シングルトンを使用するのが最善ですが、各ビューの最後ではなく、最後のビュー呼び出しでデータを保存すると、パフォーマンスが向上します。データがアプリケーション全体に関連しているように聞こえます。

その場合、私はあなたを置きます:

@property (nonatomic, retain) NSManagedObjectContext *managedObjectContext;
@property (nonatomic, retain) NSManagedObjectModel *managedObjectModel;
@property (nonatomic, retain) NSPersistentStoreCoordinator *persistentStoreCoordinator;

アプリケーションデリゲート内では、この方法でどこからでもアクセスでき、前の質問から情報を取得する必要がある場合は、そのアクションを非常に簡単に実行できます。

これが役立つことを願っています

編集:( あなたのコメントに関して)

ViewController各質問に同じまたは類似のレイアウトがあると仮定すると、同じものの新しいインスタンスを別のパラメーターでプッシュできます。

UIViewController* myNewVC = [UIViewController alloc] init];
[myNewVC setQuestion:self.question+1];
[[AppDelegate sharedDelegate].navigationController pushViewController:myNewVC animated:YES]

または上記に似たもの、UITableViewController は常に UIViewController ですが、UIViewController は常に UITableViewController ではないことに注意してください。

このようにして、毎回新しい質問を表示し、ViewController 各質問にまったく同じものを再利用できます

于 2012-05-23T01:28:14.203 に答える
0

属性質問番号を持つ質問エンティティを使用して、質問をデータモデルに保存します。次に、View Controller に現在の質問番号を ivar で追跡させます。前後に進むたびに、現在の質問番号をインクリメントまたはデクリメントし、コア データから質問を取得します。

コードのさまざまな部分をアプリ デリゲートに結合することは避けることを強くお勧めします。代わりに、Apple は、プロパティを設定するかデリゲート パターンを使用して、ビュー コントローラーからビュー コントローラーに必要なデータ構造を渡すことをお勧めします。

于 2012-05-23T06:56:56.750 に答える