問題タブ [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.
ios - Objective-C ブロックをプロパティとして使用できますか?
標準のプロパティ構文を使用してブロックをプロパティとして持つことは可能ですか?
ARCに変更はありますか?
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 のガベージ コレクションの違いは何ですか?
objective-c - 自動参照カウントでは、retain、release、および dealloc が許可されないのはなぜですか?
-retain
Xcode 4.2 で自動参照カウントを使用してアプリケーションをビルドしているときに、、、-release
およびを使用しようとすると-dealloc
、次のようなエラーが発生します。
自動参照カウントは、「dealloc」の明示的なメッセージ送信を禁止します
このエラーが表示されるのはなぜですか? -retain
、-release
、およびは、-dealloc
自動参照カウントでは許可されなくなりましたか?
iphone - iOS 5のベストプラクティス(リリース/保持?)
初心者のiPhoneプログラマーとして、iOS 5以前のバージョンで使用するアプリを作成するためのベストプラクティスは何ですか?具体的には、データのリリース/保持を引き続き使用する必要がありますか、それとも無視する必要がありますか?それは重要ですか?
objective-c - セマンティックの問題:プロパティの合成ゲッターは、「所有」オブジェクトを返すためのCocoa命名規則に従います
現在、iOS5SDKを使用してアプリを開発しています。NSStringをプロパティにしてから、それを.mファイルで合成しようとしています(これは以前に問題なく実行しました)。今、私はこれに出くわしました:「セマンティックの問題:プロパティの合成されたゲッターは、「所有された」オブジェクトを返すためのCocoa命名規則に従います。」
これは私のコードです:.h
.m
誰かが私がこれを修正する方法の手がかりを持っていますか?ありがとう!!
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"]]]];
objective-c - iOS5 SDK の自動参照カウントに関するいくつかの質問
現在、iPad用のアプリを開発中です。開発は iOS 4.2 で開始され、iOS 4.3 に向けて現在も継続されています (完了すると思います)。iOS 5 の ARC について読んだばかりで、基本的には、オブジェクトを解放して保持する必要がなくなることを理解しました。私の質問は次のとおりです。
[myObject retain]
iOS 5 にアップグレードすることにした場合、すべてのand[myObject release]
ステートメントをコードから削除する必要がありますか?ARC を使用して iOS 5 用の新しいアプリを開発する場合、何らかの「レトロ互換性」チェックを実装する必要がありますか? つまり、iOS のバージョンを確認し、retain と release を適宜呼び出す必要がありますか? では基本的に、ARC はすべての iOS バージョンで利用できるのでしょうか、それとも iOS 5 だけで利用できるのでしょうか?
iphone - _var と self.var の違い
このすべての新しい ARC のもの (NDA には該当しません…) が出てくると、プロパティを処理するためのデフォルトは、次のようなもので合成するまで、実装ファイルで明示的に ivar なしでプロパティを設定することのようです:
変数の設定に使用するベスト プラクティスは何ですか? var
との違いは、ドット表記を使用し、var のセッター メソッドを使用していることを知っていself.var
ますself.var
。
_var
古き良き時代のようにヘッダーファイル内に設定するのと同じですか?すべての前にアンダースコアを付ける慣習はどこから来たのですか?
objective-c - 新しい自動参照カウントメカニズムはどのように機能しますか?
誰かがARCの仕組みを簡単に説明してもらえますか?ガベージコレクションとは違うことは知っていますが、正確にどのように機能するのか疑問に思っていました。
また、ARCがパフォーマンスを妨げることなくGCが行うことを行う場合、なぜJavaはGCを使用するのでしょうか。なぜARCも使用しないのですか?
ios - 自動参照カウント (ARC) アプリケーションは App Store で許可されていますか?
ARC は 4.0 で動作するため、アプリケーションを LLVM3 でコンパイルして App Store に入れることはできますか?
それとも、Xcode 4.2 がリリースされるまで待つ必要がありますか?