問題タブ [retaincount]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
13015 参照

objective-c - Objective-CのretainCountとは何ですか?

コントローラーUITableViewを備えた最初の画面を持っています。UINavigation

私の最初の画面では、呼び出さNSLog(@"Home Screen retain Count=%d",[self retainCount]);れたときに6がログインします。viewDidLoad

これは正しいです?

0 投票する
5 に答える
359 参照

objective-c - keepCount を @"Hi" に送信すると -1 が返されるのはなぜですか?

このメソッドretainCountは、符号なし整数を返すことになっています。

では、なぜ[@"Hi" retainCount]-1 が返されるのでしょうか。

0 投票する
1 に答える
154 参照

objective-c - 保持プロパティに割り当てるときに解放してはいけないのはなぜですか?

この質問はこれに関連してますが、より単純です。[私はこれらのばかげた質問の終わりに近づいている可能性があり、真剣なビジネスに取り掛かることができると思います:)]。

retainプロパティがあり、次のように設定します。

保持カウントがゼロになる理由がわかりません。navControllerと定義されている

プロパティは保持カウントを 1 増やすべきではありませんか?

0 投票する
5 に答える
237 参照

objective-c - Obj-C メモリ管理セッター メソッド

私はobjective-cが初めてで、ここからコードをダウンロードしました。第 10 章
xcodeプロジェクト ファイルを実行しました。10.01 CarPartsInit

私がはっきりしていないことの1つは、セッターメソッドのメモリ管理を行うことです

プログラムの最後にエンジンretainCountが0になるはずです。

私はいくつかを実行NSLogし、プログラムが終了すると... retainCountfor エンジンは 1 でした... 0 に行って解放する必要がありますか? それともこれはメモリリークですか?

0 投票する
3 に答える
797 参照

objective-c - self.view を解放する必要がありますか?

UIViewController の self.view について質問があります。

まず、私のアプリでは、すべてがプログラムで作成されます。通常、loadView メソッドで self.view を作成します。

この時点で、self.view の保持回数は 1 です。

だから、私の質問は、ビュー コントローラーを使い終わったら、self.view を解放する必要がありますか? もしそうなら、どこでそれを解放すればよいですか?

事前にどうもありがとう:)

0 投票する
2 に答える
506 参照

iphone - ビューベースのアプリケーション - [window addSubview:viewController.view] 後の viewcontrollerretainCount;

私はビューベースのアプリケーションを持っていて、dealloc メソッドが機能しているかどうかを確認したところ、それが機能していないことがわかりました...デバッグとデバッグを行った後、retainCount を使用すると、プログラムの開始時にビューコントローラーの保持カウントがおかしくなっていることがわかりました...簡単に再現....

新しいビュー ベースのアプリケーション テンプレートを開始し、didFinishLaunchingWithOptions で:

私はコンソールに乗りました:

これは正しいですか?

次に、iPhoneのホームボタンを押してアプリを閉じると、deallocメソッドが呼び出されません.viewControllerのretainCount....私は正しいですか?

これは、アップルのビュー アプリケーション テンプレートです...動作するはずです...そうではないですか?

最初の保持カウントが2である理由を誰かが説明できますか????? そして他の8??? xibファイルは空です....

0 投票する
1 に答える
206 参照

iphone - NSStringとretainCountの質問

インターフェイス部分で宣言された NSString があります。

@property (非アトミック、保持) NSString *filePath;

viewDidLoad でこれに値を指定し、カスタム メソッドの 1 つから呼び出そうとすると、初めて機能しますが、2 番目にクラッシュします。私の意見では、最初の呼び出し時に filePath が自動解放されました。

私は別のアプローチを試みましたが、私の方法では次のようなことをしました:

NSString *path = [[[NSString init] alloc] autorelease]; path = [filePath コピー];

今回はうまくいくようですが、パスのretainCountをチェックすると、常に増加しています。メソッドが初めて呼び出されたとき、retainCount は 4 ですが、2 回目は 2、3 回目は 3 というように続きます。

[copy] が原因で filePath が増加していることは理解していますが、パス変数についてもなぜですか? そして、なぜ最初のケースでうまくいかなかったのですか?

0 投票する
4 に答える
323 参照

objective-c - Objective C: @property(retain) は保持を呼び出しませんか?

ストレージ メモリ割り当てのバグを追跡しようとしていたので、クラスの保持メソッドと解放メソッドをオーバーライドしました。このクラスのインスタンスを別のプロパティに割り当てると、オブジェクトの保持カウントが増加することに気付きましたが、再定義した保持は呼び出されませんでした。

これはどのように可能ですか?保持を呼び出さずにオブジェクトを保持する (保持する) プロパティはありますか?

0 投票する
1 に答える
774 参照

iphone - IBOutlet UIWebViewのretainCount

IBでUIwebViewを作成したView Controllerがあります。

このwebViewはretainCount = 2viewDidLoadにあります。なんで?

ありがとう

0 投票する
2 に答える
316 参照

iphone - iPhone-保持カウント-明らかな理由もなく保持カウントが上がる

簡単な質問ですが、簡単なものが欠けていることを願っています。わかりました。別のクラスへのポインタを保持するクラスがあります。MainMenuClassおよびNormalGameClass。MainMenuClassの内部では、次のことを行います。

さて、NormalGameClassのdealloc関数が呼び出されていないときはいつでも問題に最初に気づいたので、retainCount呼び出しをいくつか行いました。何らかの理由で、MainMenuのrelease関数に戻ると、retaincountは6になります。非常に混乱。NormalGameClassのviewDidLoadの後の最初の行の[selfretainCount]は4です。ここで何が起こっているのか誰かが知っていますか?NormalGameClassでallocを呼び出すのは一度だけですが、それでも6まで保持されますか?不思議なことに、それを超えることはありません。洞察をありがとう。

更新:物事をいじっていて、これが厄介であることがわかりました。MainMenuClassで、NormalGameを取り除く方法は次のとおりです。

現在、この設定では、NormalGameのdeallocが呼び出されることはありません。ただし、上記の投稿の直後に[m_NormalGame release]を呼び出すと、NormalGameのdeallocが2回呼び出されます。=/混乱してペイントしてください。