0

NSArray に情報を保存することに関して簡単な質問があります。navigationcontroller ボタンをクリックして前の viewcontroller に移動し、myArray に戻ると、すべて nil になります。元の情報を配列に保持するにはどうすればよいですか。

2 つのビューがあり、そのうちの 1 つは tableViewController で、2 つ目は detailviewController です。

ユーザーが最初の行をクリックすると、ユーザーがdetailviewcontrollerに移動し、ユーザーがボタンをタップして値が増加し、ユーザーがボタンをタップした回数のデータを保存して保存します。

4

1 に答える 1

2

問題はおそらくビューコントローラーの存続期間にあります。コントローラーをポップすると、コントローラーの割り当てが解除されます。コントローラーをプッシュすると、配列が設定されていないコントローラー クラスの新しいインスタンスが作成されます。

配列を保持するView Controllerへの強力な参照を保持し、存在する場合は既存のインスタンスをプッシュするのが最善です。

編集: テーブル ビュー コントローラー (マスター ビュー コントローラー) で、詳細ビュー コントローラーのタイプの ivar またはプロパティを追加します。プッシュする場合、次の 2 つのオプションがあります。

  1. プロパティが設定されている場合は、プロパティからコントローラーをプッシュします。
  2. プロパティが nil の場合にのみ、新しいコントローラーを作成します。プロパティを新しいコントローラーに設定し、プッシュします。
于 2013-03-12T17:33:12.507 に答える