問題タブ [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 投票する
1 に答える
272 参照

ios - タイマーを停止するときに、タイマーブロックで使用されているが、タイマーブロックから割り当てられているメモリを解放する

私はそのコードをブロックで指定するタイマーを宣言しています(このコードをx秒ごとに実行するため)。

ユーザーがボタンをタップしたときにタイマーを開始したいので、IBActionである関数内でタイマーを作成して再開します。

最後に、これが問題です。ブロックで管理されるデータは常に同じサイズであるため、タイマーが起動するたびにメモリを割り当てたり解放したりすることを避けるために、メモリを__blockポインタとしてブロックの外に割り当てますが、関数(このローカルスコープ外で宣言することはできません)。

すべて正常に動作しますが、別のボタンを使用してタイマーを数回停止および再起動したいので、関数に割り当てられたメモリを解放するにはどうすればよいですか?タイマーが起動するたびではなく、「開始ボタン」をタップするたびに割り当て、「停止ボタン」をタップしたときに解放したいと思います。¿このコード構造で可能ですか?¿私がやりたいことをするための最良の方法は何ですか?

これはコードです:

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

ios - ios alloc-release

アプリが大量のメモリを要求しているため、メモリの警告が表示されます。私はすべての割り当てを解放しようとします。とはいえ、やり方がわからないこともあります。

例: .h ファイルと .m ファイルの 2 つのペアがあります。それらの 1 つはサーバーとの接続を確立し、もう 1 つはローカル SQLite との接続を確立します。

通常、これらのファイルからメソッドを呼び出すコードは次のようになります。

getRecentActivity は NSMutableArray を返します。

そのコードでは、LocalStorageController にメモリを割り当てていることがわかりますが、リリース メソッドを呼び出すことはありません。したがって、その関数を呼び出せば呼び出すほど、より多くのメモリが割り当てられると思います。

初期化後に autorelease を呼び出すと、クラッシュします。

さらに、通常、私はこの別の種類のコードを使用します。

これは ASIHTTPRequest を使用し[serv release];、2 行目の後に呼び出すと、ASIHTTPRequest ライブラリの行を指す EXC_BAD_ACCESS でアプリがクラッシュします。

この状況をどのように管理すると考えられますか?

どうもありがとうございました!

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

objective-c - MFMessageComposeViewController の最初の割り当てには数秒かかります

次のコードで MFMessageComposeViewController を表示しようとしています:

問題は、ボタンを押して MFMessageComposeViewController を起動すると、割り当てに数秒かかることです。alloc行をviewDidLoadメソッドに移動しようとしましたが、これは問題を移動するだけで、ビューがロードされるまで数秒待つことになります。

MFMessageComposeViewController の割り当てと表示を高速化する方法や、デリゲート メソッドなどを使用する方法はありますか?

ありがとう。

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

objective-c - 自動参照カウントの問題:保持されたオブジェクトをunsafe_unretained変数に割り当てます。オブジェクトは割り当て後に解放されます

この警告が表示されます

「自動参照カウントの問題:保持されたオブジェクトをunsafe_unretained変数に割り当てます。オブジェクトは割り当て後に解放されます」

これがコードです

.h

.m

私はすでに試しました

しかし運がない

何が悪いのか理解するのを手伝ってくれませんか。

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

ios - メモリリークに問題がある

多くのメモリリークがあります...たとえば、更新されるたびに画像が反転するUIImageViewが1つあります(アニメーションは約30fpsな​​ので、この画像はALOTを更新して反転します)

膨大な量のメモリリークが発生しているため、一度反転した後に解放しました:

しかし、問題は、そのコードをもう一度実行しようとするとアプリがフリーズすることではありません (何かを解放してからもう一度使用することはできないと思いますか? (このメモリ割り当て全体とリリースのものにはちょっと新しい...

私は何をしますか?画像がリリースされている場合、反転する前に画像を再定義しますか? ありがとう!

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

objective-c - 自動解放されたオブジェクトを含むポインターに再割り当てするのは間違っていますか?

次の結果は何ですか?

すでに自動解放されている文字列に設定されている を呼び出すmyStrため、正しく解放されますか、それともクラッシュしますか?autoreleasemyStr

0 投票する
0 に答える
81 参照

objective-c - C++ オブジェクトが占めるヒープは、Objective C++ の Objective C オブジェクトと同じですか?

Objective C (@interfaces) に C++ オブジェクトが存在すると、Objective C の alloc および dealloc メソッドにどのような影響がありますか?

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

objective-c - NSMutableArray の alloc と init が正しく機能しない

私はしばらくの間コーディングを行ってきましたが、これまでに発生したことのないこの問題が定期的に発生しているようです。配列/辞書を初期化しようとすると、それらが正しく初期化されていると確信していても、常に空として表示されます。

エラーのスクリーンショット

これは、@property (nonatomic、retain) と @synthesize を使用した単純な NSMutableArray です。以前はなかった場所で起こっていることに気付いたので、なぜこれが起こるのか誰か教えてもらえますか. これは単に誤った情報を表示する予測/インテリセンスである可能性があります。そうであれば、どうすれば修正できますか?

ありがとう、エリオット

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

objective-c - Cocoa : オブジェクトが割り当てられているが、適切にアクセスできない?

それが私が持っているものです:

クラス A :

クラス B :

そしてここに問題があります:

後の段階でppApplication、 にアクセスしようとしていますcore

coreある。

coreしかし、のいずれかの要素 (例: )にアクセスしようとすると[core someObject]、すべてが NULL になります (デバッガーで確認しました)...

私は何を間違っていますか??

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

objective-c - 保持カウントを増加させるのは、alloc と init のどちらですか?

オブジェクトを作成して所有権を取得する必要がある場合は、次のように記述します

その後、someObjectの保持カウントは 1 に等しくなります。どのメソッドがカウントを増やしますか、allocまたはinitで、Apple のドキュメントのどこでこの動作が説明されていますか?