[解決済み] retainCountはいつ使うのか?
質問
どのような場面で
-retainCount
をどのような状況で使用したのか、そして最終的にそれを使用して起こる可能性のある問題を知りたいです。
ありがとうございます。
どのように解決するのですか?
あなたは決して
-retainCount
は決して使ってはいけません。なぜなら、有益なことは何も教えてくれないからです。 Foundation と AppKit/UIKit フレームワークの実装は不透明で、何が保持されているか、なぜ保持されているか、誰が保持しているか、いつ保持されたのか、などわかりません。
たとえば
-
と思うでしょう。
[NSNumber numberWithInt:1]
を持つことになるでしょう。retainCount
が1になってしまいますが、そうではありません。 それは2です。 -
と思うだろうが
@"Foo"
を持つことになるでしょう。retainCount
は 1 になるはずですが、そうではありません。 1152921504606846975 です。 -
と思うだろうが
[NSString stringWithString:@"Foo"]
を持つことになるでしょう。retainCount
は 1 になりますが、そうではありません。 繰り返しになりますが、1152921504606846975です。
基本的に、どんなものでもオブジェクトを保持することができるので、(したがって、その
retainCount
を変更することができます。また、アプリケーションを実行するコードのほとんどはソースを持っていないため、オブジェクトの
retainCount
は意味を持ちません。
オブジェクトが割り当て解除されない原因を突き止めたい場合は、InstrumentsのLeaksツールを使ってください。 オブジェクトの割り当て解除が早すぎる原因を突き止めたい場合は、Instruments の Zombies ツールを使用します。
ただし
-retainCount
. 本当に価値のない方法です。
編集
皆さんは
http://bugreport.apple.com
にアクセスして、リクエストしてください。
-retainCount
を非推奨とするよう要請してください。 それを求める人が多ければ多いほど良いのです。
編集その2
アップデートとして
[NSNumber numberWithInt:1]
に
retainCount
が 9223372036854775807 になりました。 コードが 2 であることを期待していた場合、そのコードは今破損しています。
関連
-
[解決済み] JVM起動時のパラメータ「-Xms」「-Xmx」とは何ですか?
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] performSelectorのセレクタが不明なため、リークが発生する可能性があります。
-
[解決済み] 8192個の要素にループをかけると、プログラムが遅くなるのはなぜですか?
-
[解決済み】なぜC++プログラマは'new'の使用を最小限に抑えなければならないのでしょうか?
-
[解決済み】Rのセッションで使用可能なメモリを管理するトリック
-
[解決済み] NSObject +loadと+initialize - これらは何をするのですか?
-
[解決済み] NSDictionaryにboolean値を追加するにはどうすればよいですか?
-
[解決済み] 警告 "format が文字列リテラルでなく、format の引数がない場合"
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 現在の日付から7日分を差し引いた日数
-
[解決済み] Objective-Cのクラス→文字列のようなものです。[NSArray className] -> @"NSArray" のようになります。
-
[解決済み] Objective-Cで配列に結合する
-
[解決済み] error: Writeable atomic property cannot pair with synthesized setter/getter and the user defined setter/getter.
-
[解決済み] RootViewControllerのスイッチングアニメーション
-
[解決済み] 複数のサブクラスで1つのストーリーボードuiviewcontrollerを使用する方法
-
[解決済み] NSObject +loadと+initialize - これらは何をするのですか?
-
[解決済み] NSArrayのディープコピー
-
[解決済み] NSURLをローカルファイルのパスに変換する
-
[解決済み] キーチェーンのアイテムは何がユニークなのか(iOSの場合)?