問題タブ [retain]

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 投票する
1 に答える
469 参照

objective-c - NSMutableStringインスタンスをコピーすると、retainCount-1が返されます

最後の行が-1と出力される理由を誰かが説明できますか?これは、コピーがNSMutableStringで呼び出されたときに発生します。不変のコピーが返される必要があるため、strFourのreturnCountは1になると思います。

どうもありがとう。

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

objective-c - NSString保持コピーの質問

文字列に保持またはコピーを使用する問題について、ここでいくつかの投稿を見てきました。違いや重要性については、まだよく理解できていません。

私の場合、現時点では、文字列を保持するための nsstrings の全負荷を持つクラスがあります。

このクラスを 1 回だけインスタンス化し、その nsstring 変数を、テーブル ビューでクリックされたインデックスに応じて変更したいと考えています。

保持を使用することを選択した場合、テーブルビューのクリックで値を設定するたびに nsstrings が上書きされ、コピーを選択した場合、各文字列のインスタンスが 2 つあると言うのは正しいでしょうか....?

すみません……よくわかりません

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

iphone - 関数呼び出し後にカウントを保持します。心配する必要がありますか?

私は通常、プログラムがリークするまで保持カウントをチェックしません。しかし、今日(私はいけません)私は保持カウントをチェックしました、そして今私は混乱しています。

私はこれを取得しません。strErrorMessageを割り当てないので、それを解放する必要はありませんか?

strErrorMessageの所有者です。

ここでstrErrorをリリースする必要がありますか?

0 投票する
7 に答える
7730 参照

iphone - 割り当て解除されたインスタンスに送信

ビューコントローラをスタックにプッシュしてからポップオフすると、次のエラーが発生します。

deallocポップオフされているViewControllerで呼び出された直後に発生し、このViewControllerのみに排他的であるようです。私はCALayerを使用していないので、CALayerはビュー自体と関係があると確信しています。

何か案は?

編集:これがバックトレースです

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

objective-c - リリースと保持

私が次のことをしたとしましょう (foo は何らかのオブジェクトとして始まります):

foo を再割り当てしない限り、これが終わっても同じ foo のままですよね? //STUFF 中に foo を失う危険はありませんか?

リリースに関する私の理解が正しいことを確認していると思います。foo を解放しても、すべてのハンドルがなくなるまで、実際には消えません。つまり、foo を //STUFF 内の他のオブジェクトに割り当てるか、または foo を //STUFF 内のスコープ外に移動する必要があります (おそらく新しい foo を作成する必要があります)。オブジェクトは削除されますよね?

動機のために編集:

これを行う理由は、次の switch ステートメントがあるとしましょう。

スイッチの前に foo を解放し、最後に保持することは理にかなっています。ケース3を除いて。したがって、私が提案したことを安全に行うことができれば、コードがより簡単になるかもしれないと考えていました。

もちろん、各 alloc/init の周りに release/retain のペアを置くこともできますが、それは多くの複製されたコードです...

[foo autorelease] とその後の保持でうまくいくかもしれません。

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

iphone - PoppingViewが[superdealloc]でアプリケーションをクラッシュさせる

tableView:didSelectRowAtIndexPath:アイテムが選択されるたびにViewController-Instanceを作成する場所があります。長時間正常に動作する場合もあれば、EXC_BAD_ACCESS非常に速くクラッシュする場合もあります。デバッガーは[super dealloc];、QuestionDetailViewControllerの行を非難します。

なんで?QuestionDetailViewControllerretainCountをログに記録します。それはうまく見えます。

QuestionDetailViewController

tableView:didSelectRowAtIndexPath:

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

iphone - NSMutableArray が正しく機能していません... (count がゼロを返すべきではありません!)

オブジェクトを追加した後、NSMutableArray カウントはゼロを返します。理由を突き止めようとしてハッキングに 1 時間かかりましたが、まだ立ち往生しているので、ここに来ました。

次のコードに基づいたアイデアはありますか?問題は何ですか?

オブジェクト 'search' は、ヘッダ セットでポインタとして定義されたカスタム クラスであり、非アトミック属性を保持します。

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

iphone - init *関数は渡されたものを保持しますか?

ナビゲーションコントローラーを次のように初期化します。

ナビゲーションコントローラーがfirstViewControllerを保持しているのか、それとも存続させる必要があるのだろうか。firstViewControllerをリリースしても、ナビゲーションコントローラーは引き続き機能します。それは間違っているようです。

明確化?

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

iphone - 保持、割り当て、プロパティ... Obj-cの生活を楽にするトピック!

コードを書くほど、迷子になります... obj-cの基本を理解するのに時間を無駄にしないように、私(および他の人)のメモリ管理専用のトピックを作成することにしました...次のように更新します新しい質問があります!

以下にいくつかの例を示します。

---つまり、私が理解している場合... self.myArrayを配置するときは、Xcodeにゲッターまたはセッターを使用するように指示しますが、myArrayを実行するときは、すべての責任がありますよね?

[解決済み]UPDATE1:違いはありますか:

---はい、違いがあります(上記のコメントを参照)

[解決済み]UPDATE2:以下のmyArrayはnilに等しいですか?

---久美:はい、nilに等しいです。

[解決済み]UPDATE3: 2回の保持にカウントされますか?1つは自己から保持し、もう1つは割り当てから保持しますか?これはメモリリークですか?

---久美:はい、これはメモリリークです!

[解決済み]UPDATE4:プロパティがすべてを処理しますか?割り当てたり解放したりする必要はありませんか?

---ここでは、配列が適切に保持されるようにセッターを使用します

[解決済み]UPDATE5:これら2つのブロックは同じですか?

---久美:はい、同じです

時間をありがとう。

ゴティエ。