一度だけ読まなければならないデータの一部があります。私はそこにivarを持っていて、コントローラーからアクセスできるようにそれらをどこかに保存したいと思っています。どこに置けばいいの?この場合、サブクラス化は避けたいと思います。私の読者は他のクラスからデータを渡す必要があり、他のクラスは何かの親クラスである可能性があります。私は正しいですか?
だから私の質問は:私のアプリが起動した後にいくつかのデータがあります、そしてそれをどこに置く必要がありますか?
一度だけ読まなければならないデータの一部があります。私はそこにivarを持っていて、コントローラーからアクセスできるようにそれらをどこかに保存したいと思っています。どこに置けばいいの?この場合、サブクラス化は避けたいと思います。私の読者は他のクラスからデータを渡す必要があり、他のクラスは何かの親クラスである可能性があります。私は正しいですか?
だから私の質問は:私のアプリが起動した後にいくつかのデータがあります、そしてそれをどこに置く必要がありますか?
appDelegate に配列を設定してから、どこからでも:
MyAppDelegateClass *appDelegate = [[UIApplication sharedApplication] delegate];
[appDelegate someMethod:..];
@ SimpleMan :- どのタイプのデータを持っていますか? テキスト、画像、ビデオ ?
あなたはテキストデータを持っていると思いますよね?テキスト データの場合は、plist.. または Sqlite データベースも使用できます。これはあなたがしたいです。この場合、データは永続的に保存されます。データを一時的に、つまり 1 回 (アプリの実行中にのみ存在する) 保存する場合は、データを変数に保存できます。
あなたの場合、アプリの起動中にサーバーからデータを取得していますか? 次に、そのデータをアプリケーション デリゲート ファイルに格納する必要があります。つまり、AppDelegate.m ファイルです。
アクセスしたい場所を使用します。質問がある場合は、返信してください。
他の回答で述べたように、それを appDelegate に保存するだけです。データがそれほど多くない場合、個人的には appDelegate に保存しても問題はないと思います。
(「正しい」または「間違った」やり方にとらわれすぎてしまう人もいると思います。これが小さなアプリで、他の誰もこのアプリで一緒に作業しない場合は、できるだけ簡単なことをしてください。アプリとユーザーが苦しむことはありません)。
ただし、大量のデータである場合、または将来このデータを大幅に拡張する可能性がある場合は、そうしないでください。その場合、データを格納する別のシングルトン モデル クラスを作成することをお勧めします。