問題タブ [alloc]

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 に答える
289 参照

objective-c - 条件付き割り当て/割り当て解除? 【Objective-cとCocos2D】

クラスを別のクラスに割り当てて、簡単に参照したいのですが、このクラスを割り当てる必要がないため、割り当てを解除しない場合があります。これはどのように行われますか?解放する必要がないように、dealloc 内に条件を入れることはできますか?

より詳細には、Cocos2D を使用しています。割り当てる必要がある場合とない場合がある選手能力クラスがあります。私の初期設定で:

Cocos2D は、マップと共にスクロールできるように参照を保持する必要があります。しかし、割り当てていない場合、どのように割り当てを解除しないのですか?

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

iphone - initWithContentsOfFile:path] nil を返す場合のメモリ管理

[[UIImage alloc] initWithContentsOfFile:path]

メソッドが画像を初期化できない場合は nil を返します。次のコードは、割り当てられた UIImage を解放していません。画像が[image release]行に nil であるためです。

これは本当にメモリリークですか?

init が nil を返す場合、どのようにオブジェクトを解放する必要がありますか? UIImage* image = [[UIImage alloc] initWithContentsOfFile:path]; を行う場合

init が失敗するため、image は nil です。[image release] は [nil release] と同じです。エラーはありませんが、何も解放されていません。

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

objective-c - Objective C:リリースと割り当て

私はCとObjectiveCにかなり慣れていませんが、この答えが見つかりません

それで、私は解決するのに時間がかかった問題に遭遇しました、基本的に私はあなたがオブジェクトを割り当てるときはいつでもそれを解放するべきであると言われました。それが私がしたことであり、それが私のプログラムをクラッシュさせました...

コードは次のとおりです。

「numberString=resultLabel.text」行が原因である理由はわかったと思いますが、プログラムがクラッシュする理由がわかりません。numberStringをリリースできないのはなぜですか?そうしないと、メモリリークが発生しますか?

PSコードが不器用であることはわかっています。私はプログラミングの初心者であり、ObjectiveCの初心者です。

PSS後でresultLabelを-(void)dealloc{}でリリースします

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

iphone - idで割り当てて初期化することが推奨されないのはなぜですか?

次の例では、発生する可能性のある問題は何ですか。

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

iphone - メモリ割り当ての質問

常に更新している文字列があります(1秒間に約33回)。それは何度も何度も使用され、私が行っているループの中に遍在しています。これはループです:

これは、0.03秒ごとにNSTimerによって起動されます。論理的に解放できると思ったのdebtStringは、longlong整数に変換された後です。ただし、これによりアプリがクラッシュします。行を削除する[debtString retain]と、アプリがクラッシュします。

メモリの蓄積は迅速かつ高速で、14バイトの文字列です。毎秒、さらに462バイトの誤って割り当てられたメモリが作成され、すべての調整とともに、約3696バイト/秒になります。これは私が無視できるリークではありません。ループのどこでリリースするのかわかりません!

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

iphone - iPhoneのメモリ管理

プログラムのリークやその他のメモリの問題をチェックするために機器を使用しています。機器によって検出されたリークは非常に小さく、問題ではありませんが、プログラムを使用している間、物理メモリの空き容量が減少し続けることがわかりました。

私はメモリモニターを使用してアプリが使用しているメモリの量を判断し、割り当てを使用してこれが主に発生している場所を判断します。割り当てたり保持したりするたびに必ず解放し、リークがほとんどないことを確認して、メモリ管理は正常であると想定しています。

この問題を修正するために私ができることを誰かが知っていますか、それとも問題の根底に到達する方法をお勧めしますか?

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

objective-c - 画像でメモリを管理する方法

さて、オブジェクトを割り当てずにかなりの量のコードを記述した場合、メモリはどこに行きますか?

たとえば、持っているのではなく

私は持っていた

私のすべてのコードを通して。2番目の例では、メモリで何が起こっているのかわかりません。私はまだ学習中であり、オブジェクトを割り当てることなく、アプリ全体で2番目の例を使用して多くのコードを記述しました。シミュレーターでは常に正常に動作しましたが、実際のデバイスはメモリを処理できず、クラッシュします。メモリ管理に関するすべてのチュートリアルでは、作成したオブジェクトを解放するという意味でそれについて説明していますが、オブジェクトを作成したことがないため、行き詰まっています。

0 投票する
6 に答える
513 参照

ios - ループで割り当てられた場合に作成されるオブジェクトの数

iPhone SDK でのメモリ管理の 1 つの側面を理解しようとしています。

私が走った場合:

メモリ内に 10 個の myArray オブジェクトを作成していますか、それとも割り当てごとに前のものを上書きしますか? 後者の場合、クリーンアップのためにループの後に 1 つの [myArray release] だけが必要になると思います。前者の場合、For ループ内でリリースが必要だと思います。

ありがとう。

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

iphone - iPhoneの割り当てとリリース

私はObjCとiPhoneの初心者です。

複数のビュー間でのデータ共有の例をダウンロードしました。基本的なアプローチは、ベースUIApplicationでデータモデルオブジェクトを作成し、そこからデータを取得/設定することです。したがって、initメソッドで次のコードが表示されました。

その後、デリゲートを使用して、このオブジェクトにアクセスできます。

だから、私の質問は最初のコード例にあります。AppDataObjectオブジェクトにメモリを割り当て、その直後にオブジェクトを解放する必要があるのはなぜですか?後でこのオブジェクトにアクセスするときにnilを取得しないのはなぜですか?

10倍

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

ios4 - NSString の初期化時に alloc と init を分離する

単一の NSString オブジェクトを割り当て、if-else ブロック内でそれにテキストを割り当てたい状況があります。次のようなコードを書くと:

内部でエラーが発生しますsomeFunction(を使用しようとすると NSInvalidArgumentException がスローされますstring)。また、コードをステップ実行するときに を入力するsomeFunctionと、コンソールに次のような行が表示されます。

alloc と init をネストするのを忘れましたか?

を参照していstringます。

NSMutableString を使用して、各 if-else ブロックの文字列に追加するだけで同じことを試しましたstring = [[NSMutableString alloc] init]が、前の方法で同じ結果が得られない理由を誰かが知っているかどうか疑問に思っていました。