問題タブ [nsautoreleasepool]
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.
iphone - Objective C:メソッドに戻り値の型があるメソッド内、または戻り値の型を持つオーバーライドされたメソッド内で NSAutoreleasePool を設定する方法は?
メソッドに戻り値の型があるメソッド内で NSAutoreleasePool を設定するにはどうすればよいですか? それを行う方法はありますか?以下のような方法のように:
または、次のようなオーバーライドされたメソッド内で:
以下のように main.m ファイルで確認できます。
では、こうあるべきなのだろうか?
objective-c - NSAutoreleasePool は利用できません
「Objective-C でのプログラミング」第 3 版に従っていますが、最初の例で問題が発生しています。
このエラーが発生し続けます:
セマンティックな問題: 'NSAutoreleasePool' は利用できません: 自動参照カウント モードでは利用できません
これが私のコードです:
どんな洞察も大歓迎です。
iphone - iPhone Dev - 自動解放に関する質問と、私がやっていることは安全かどうか
アプリのメソッドに次のコードがあります。
arrayWithObjects メソッドが自動解放された配列を返すことは知っています。これは、作成後すぐに保管する必要があるということですか? 配列を someMethodThatTakesAnArray に渡す前に自動解放プールが空にならないことは保証されていますか? メソッドに入るとどうなりますか?保持しないと、someMethodThatTakesAnArray 内で使用している間に配列が消える可能性がありますね。
iphone - iPhoneアプリケーションでリークを回避するには?
私は物事のクラッシュログを取得しています:
クラッシュを回避するのに役立つボディはありますか?
uiimagepickercontroller - UIImagePickerControllerおよびUIPopoverControllerを使用したexc_bad_access
アプリ(Ipad)でこのコードを呼び出した直後にEXC_BAD_ACCESSを取得します
デバッグのためにXCodeからほとんど何も得られません。XCodeはそのコード行を示しています。
オブジェクトの自動リリースが早すぎると思いますが、これを修正する理由と方法は?
iphone - 自動参照カウント (ARC) の NSThreads
4.3.5 で ARC で NSThreads を使用しようとしています。iOS 5 ではすべてが完璧に動作しますが、4.3 のような古い iOS で試してみると、リークが発生します。通常、私は NSThreads に Autoreleasepool を使用しますが、ARC には手動の Autoreleasepool がないため、これを修正する方法がわかりません。
スレッドを開始した後、「__NSAutoreleaseNoPool(): オブジェクト 0x4567b40 のクラス NSComparisonPredicate autoreleased with no pool in place - just leaking」のようなメッセージがコンソールに大量に表示されます。
5.0 より前の ARC および iOS で正しくスレッド化する方法。
乾杯ネッツ
cocoa - クラッシュ ログのヘルプ
Lion がスリープから復帰すると、アプリがクラッシュします。問題は、天気情報を探しているバックグラウンド スレッドにあるようです。よくわかりませんが、クラッシュ ログは、自動解放プールが存在しないオブジェクトをポップしていることを示していると思います。誰かがこれを確認するのを手伝ってくれますか?
クラッシュ ログに関連する詳細は次のとおりです。
プロセス: myApp [14187] 識別子: myApp バージョン:
??? (???) コード タイプ: X86-64 (ネイティブ) 親プロセス: launchd [224]日時: 2011-08-24 18:58:00.581 -0400 OS バージョン: Mac OS X 10.7.1 (11B26) レポート バージョン: 9
クラッシュしたスレッド: 7
例外の種類: EXC_BAD_ACCESS (SIGSEGV) 例外コード: 0x0000000000000010 の KERN_INVALID_ADDRESS
アプリケーション固有の情報: objc[14187]: ガベージ コレクションはオフです
スレッド 7 クラッシュ: 0 libobjc.A.dylib
0x00007fff9321700b (匿名名前空間)::AutoreleasePoolPage::pop(void*) + 385 1
com.apple.CoreFoundation 0x00007fff961306a5 CFAutoreleasePoolPop + 37 2 com.apple.Foundation
0x00007fff969350d7 154 3
com.piso13.opusDomini 0x00000001000acb91 -[Weather internalStart] + 417 4 com.apple.Foundation
0x00007fff9698b1ea -[NSThread main] + 68 5 com.apple.Foundation
0x00007fff9698b162 NSThread _main + 1575 6 libsystem_c.dylib
0x00007fff90b068bf _pthread_start + 335 7 libsystem_c .dylib
0x00007fff90b09b75 スレッド開始 + 13
Weather Internal Start のコードは次のとおりです。
[プールドレイン] に電話する必要がありますか?
iphone - AutoReleaseプールとスレッドの処理
のようなコールバックでスレッドを作成した場合。
プールが空になることはないので、自動リリースされたものが実際に解放されることはないと思います。私は次のように物事を変えることができます:
しかし、頻繁に割り当て/削除するのは少し無駄に思えます。メモリのブロックを取っておき、プールがいっぱいになったら解放する方法はありますか?
iphone - NSAutoreleasePool の説明が必要
メソッドを呼び出すたびにautorelease
、そのオブジェクトはNSAutoreleasePool
. プールがドレインされると、プール内のすべてのオブジェクトにリリースが送信されます。
私の質問は;
メイン関数には が 1 つありNSAutoreleasePool
ます。私はそれを知りたいです。メソッドを呼び出すとautorelease
、オブジェクトはどこに送信されますか? つまり; NSAutoreleasePool
メイン関数(または)のどこかにあるオブジェクトを送信していますか?
前もって感謝します。