0

誰か助けてくれませんか...

モデルに巨大なオブジェクトがあります。私はそれを単一のトンクラスとして作成し、他の呼び出しでオブジェクトを返しましたが、オブジェクトは非常に大きく、アプリがクラッシュしています。データをグローバルに共有する方法、オブジェクトを割り当てるタイミング、オブジェクトの割り当てを解除する場所を返すことはありません。ビューコントローラーのオブジェクトのすべてのデータは必要ありません..そのオブジェクトからビューコントローラーへの特定のデータが必要です...

ありがとう。

4

1 に答える 1

0

それへのポインターをアプリデリゲートに保存し、次を使用して取得できます

BlahAppDelegate* delegate = [[UIApplication sharedApplication] delegate];
id bigObject = delegate.bigObject;

アプリ デリゲートはビュー コントローラーよりも長く存続するため、その保持と解放について心配する必要はありません。

シングルトン クラスは、(作成された 1 つのインスタンスを取得する) シングルトン インスタンス メソッド呼び出しがインスタンスを返す前にインスタンスを保持する限り、同様に機能するはずです。ビューの割り当てが解除されたら、必ずインスタンスで release を呼び出してください。

于 2010-10-21T16:27:33.827 に答える