問題タブ [automatic-ref-counting]

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

ios - Objective-C ブロックをプロパティとして使用できますか?

標準のプロパティ構文を使用してブロックをプロパティとして持つことは可能ですか?

ARCに変更はありますか?

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

ios - Objective-C の自動参照カウントが防止または最小化しないのは、どのようなリークですか?

Mac および iOS プラットフォームでは、解放されていないポインターが原因でメモリ リークが発生することがよくあります。伝統的に、allocs、copys、retains をチェックして、それぞれに対応するリリース メッセージがあることを確認することが常に最も重要でした。

Xcode 4.2 に付属するツールチェーンは、最新バージョンのLLVM コンパイラで自動参照カウント (ARC) を導入します。これは、コンパイラにメモリ管理を任せることで、この問題を完全に解消します。これは非常に優れており、不必要でありふれた開発時間を大幅に削減し、適切な保持/解放のバランスで簡単に修正できる多くの不注意なメモリ リークを防ぎます。Mac および iOS アプリで ARC を有効にする場合は、自動解放プールでさえ別の方法で管理する必要があります (独自NSAutoreleasePoolの を割り当てるべきではないため)。

しかし、まだ気をつけなければならないことを防げない、にどのようなメモリリークがありますか?

おまけとして、Mac OS X と iOS の ARC と Mac OS X のガベージ コレクションの違いは何ですか?

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

objective-c - 自動参照カウントでは、retain、release、および dealloc が許可されないのはなぜですか?

-retainXcode 4.2 で自動参照カウントを使用してアプリケーションをビルドしているときに、、、-releaseおよびを使用しようとすると-dealloc、次のようなエラーが発生します。

自動参照カウントは、「dealloc」の明示的なメッセージ送信を禁止します

このエラーが表示されるのはなぜですか? -retain-release、およびは、-dealloc自動参照カウントでは許可されなくなりましたか?

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

iphone - iOS 5のベストプラクティス(リリース/保持?)

初心者のiPhoneプログラマーとして、iOS 5以前のバージョンで使用するアプリを作成するためのベストプラクティスは何ですか?具体的には、データのリリース/保持を引き続き使用する必要がありますか、それとも無視する必要がありますか?それは重要ですか?

0 投票する
10 に答える
79950 参照

objective-c - セマンティックの問題:プロパティの合成ゲッターは、「所有」オブジェクトを返すためのCocoa命名規則に従います

現在、iOS5SDKを使用してアプリを開発しています。NSStringをプロパティにしてから、それを.mファイルで合成しようとしています(これは以前に問題なく実行しました)。今、私はこれに出くわしました:「セマンティックの問題:プロパティの合成されたゲッターは、「所有された」オブジェクトを返すためのCocoa命名規則に従います。」

これは私のコードです:.h

.m

誰かが私がこれを修正する方法の手がかりを持っていますか?ありがとう!!

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

iphone - エラー 'autorelease' は利用できません: 自動参照カウント モードでは利用できません

HTTP リクエストを作成し、Stig の JSON ライブラリを使用して JSON を解析しようとしています。このエラー 'autorelease' is available: not available in automatic reference counting mode when I use this code が表示されます


アップデート

興味のある方は、これが正しいコードです: NSURLRequest *request2; request2 = [NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@" http://sandbox.CompanyName.com/api/%@/users/%@/user_badges?url=CompanyName.map2.com&amount=999999999999 ",[ information stringForKey:@"apiKey"] , [information stringForKey:@"userID"]]]];

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

objective-c - iOS5 SDK の自動参照カウントに関するいくつかの質問

現在、iPad用のアプリを開発中です。開発は iOS 4.2 で開始され、iOS 4.3 に向けて現在も継続されています (完了すると思います)。iOS 5 の ARC について読んだばかりで、基本的には、オブジェクトを解放して保持する必要がなくなることを理解しました。私の質問は次のとおりです。

  1. [myObject retain]iOS 5 にアップグレードすることにした場合、すべてのand[myObject release]ステートメントをコードから削除する必要がありますか?

  2. ARC を使用して iOS 5 用の新しいアプリを開発する場合、何らかの「レトロ互換性」チェックを実装する必要がありますか? つまり、iOS のバージョンを確認し、retain と release を適宜呼び出す必要がありますか? では基本的に、ARC はすべての iOS バージョンで利用できるのでしょうか、それとも iOS 5 だけで利用できるのでしょうか?

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

iphone - _var と self.var の違い

このすべての新しい ARC のもの (NDA には該当しません…) が出てくると、プロパティを処理するためのデフォルトは、次のようなもので合成するまで、実装ファイルで明示的に ivar なしでプロパティを設定することのようです:

変数の設定に使用するベスト プラクティスは何ですか? varとの違いは、ドット表記を使用し、var のセッター メソッドを使用していることを知っていself.varますself.var

_var古き良き時代のようにヘッダーファイル内に設定するのと同じですか?すべての前にアンダースコアを付ける慣習はどこから来たのですか?

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

objective-c - 新しい自動参照カウントメカニズムはどのように機能しますか?

誰かがARCの仕組みを簡単に説明してもらえますか?ガベージコレクションとは違うことは知っていますが、正確にどのように機能するのか疑問に思っていました。

また、ARCがパフォーマンスを妨げることなくGCが行うことを行う場合、なぜJavaはGCを使用するのでしょうか。なぜARCも使用しないのですか?

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

ios - 自動参照カウント (ARC) アプリケーションは App Store で許可されていますか?

ARC は 4.0 で動作するため、アプリケーションを LLVM3 でコンパイルして App Store に入れることはできますか?

それとも、Xcode 4.2 がリリースされるまで待つ必要がありますか?