2012-04-08 18 views
2

言うこと、私は内部にいくつかのデータを持つシングルトンを作成したいと思います。シングルトンで期待されるように、データは1回だけ動的に割り当てられます。ARCを使用してIOS 5でシングルトンを破壊する方法を教えてください。

しかし、このデータをいつ、どのように公開するかについては、今すぐにご希望です。シングルトンを破壊する特別な方法を確立する必要がありますか?より具体的には、このシングルトンのメソッド 'dealloc'が実行されるとき?誰がそれを担当していますか?

答えて

2

明示的に呼び出すメソッド/関数を宣言できます。

最も簡単な方法は、静的なC++クラスを保持し、そのデストラクタで解放することです。複数のシングルトンがある場合、この方法は、破壊順序が実装定義されているため、あまり拡張されません。

シングルトンのアプローチを避け、アプリの期間中存続する別のクラスの通常のインスタンスとして使用することもできます(アプリデリゲートはよく知られている例です)。

'when'に関しては、依存関係とその使用方法によって異なります。破壊時の外部への影響を最小限に抑えることもできます。

2

通常、シングルトンは通常のオブジェクトと違いはありません。もはやそれへの(強い)参照がなければ解放されます。通常、静的変数のみで1つのオブジェクトが存在するように制御します。この変数はコンパイル時に作成されます。したがって、それは解放することはできません。しかし、すべての '本当の'オブジェクトのものができます。

関連する問題