ビュー間でデータを共有することについての質問があります。私は、(Object1、Object2、Object3)とappDelegateにNSMutableArrayを持っています。新しいObjectが作成され、配列に追加されると、次のビューでそのObjectにアクセスする必要があります。以前はオブジェクトを次のビューに渡していましたが、それは乱雑になり、間違っていました。App Delegateを通じてビュー間でデータを共有する
私はすべてのオブジェクトを1か所に持っていますが、どのインデックスに追加されたのかわからないため、次のビューでオブジェクトにアクセスするにはどうすればいいですか?オブジェクトを作成するたびに配列の数をチェックし、それから配列インデックスを決定し、そのインデックス値を次のビューに渡す必要がありますか?または、ある種の一意の名前でNSMutable配列からオブジェクトを取得する方法はありますか?
もう1つの解決策は、私が望むものが見つかるまで、すべてのオブジェクトを反復することですが、これを行う正しい方法が何か不思議です。あなたの時間をありがとう。
編集:返信いただきありがとうございます。私がしようとしていることを明確にします。私はNavigationControllerを持っており、あなたが行く各ビューにはObjectへのアクセスが必要です。あなたは本のようにそれについて考えることができます。あなたが読んでみたい本を最初に選択すると、次に選択した本のページが表示されます。 App Delegateには、すべての書籍の配列があります。それぞれの "ページ"に本を見に行くのですか?
これは大まかな例です。書籍を選択すると、その書籍のインデックスを既に知っているためです。あなたが本を作成したら、それがまだどこにあるのかわからないとしましょう。
これは私が本当に探しているものだと思います。ありがとうございました! – Sean
複数の方法で複数の場所からデータにアクセスする場合は、次のような手順を使用して、クラス全体に対してこれを定義することができます。http://www.friendlydeveloper.com/2010/02/getting -applelegate-access-from-anywhere-from-your-project-coding/ – geerlingguy
アプリケーションデリゲートを使用してデータを配信することは危険です。この記事を参照してください:http://www.hollance.com/2012/02/dont-abuse-the-app-delegate/代わりに、NSNotificationまたは委任を使用して、オブジェクトが更新されたという依存ビューを警告することをお勧めします。 –