[解決済み] 一部のファイルに対する自動参照カウントの無効化
質問
iOS 5 SDKをダウンロードしたところ、ARCは新しいAppleコンパイラの素晴らしい機能であることがわかりました。今のところ、多くのサードパーティフレームワークはARCをサポートしていません。新しいコードにARCを使い、現在のretain/releaseのコードは変更しないでおくことは可能でしょうか?JSONKitなどの一部のフレームワークは、コンバータを使用してもARCに変換できないため、ここではARCコンバータは機能しません。
編集する
答えは
-fno-objc-arc
をコンパイラのフラグに追加してください。Xcode 4では、ターゲット -> Build Phases -> Compile Sourcesで、これを行うことができます。
解決方法は?
公開されているARCのドキュメント この点について直接明確ではありませんが、各クラスがすべてARCまたはすべて手動で管理されている限り、クラスを単一のプログラムに統合することができることを示唆しているようです。
一つのクラスでARCと非ARCを混在させることができないだけで、ドキュメントには以下のように書かれています。
retain
,
release
,
autorelease
または
retainCount
を使用するタイマーや遅延実行を含む)。
@selector
) は、ARCコードでは禁止されています。つまり、ARCクラスで非ARCを行うことはできず(必要なメッセージが禁止されているため)、非ARCクラスでARCを行うことはできません(ARCなしでは無効な構文要素が追加されるため)。
ARC以外のライブラリやフレームワークをARCプログラムに統合できるかどうかについては、同じ文書でもう少し明確に説明されています。はい。ARC以外のライブラリやフレームワークをARCのプログラムに組み込めるかどうかについては触れていませんが、上記のことを踏まえると、どうやら「イエス」ということになりそうです。
関連
-
[解決済み】何が原因か。switch文からこのcaseラベルにジャンプできない [重複]。
-
[解決済み] MPProgressHUDとNSSessionを使用したデータシンクの読み込み
-
[解決済み] Xcodeでコンソールに何かを印刷するには?
-
[解決済み] プロジェクト内の単一ファイルのARCを無効にするにはどうしたらいいですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] iOS 8で位置情報サービスが利用できない
-
[解決済み] Xcode 4でNSZombieEnabledを設定するにはどうすればよいですか?
-
[解決済み】Objective-Cのコードをユニットテストするのに最適な方法は何ですか?
-
[解決済み】Objective-Cの自動参照カウントでは、どのようなリークを防いだり最小化したりできないのですか?
-
[解決済み] iOS5 SDKのAutomatic Reference Countingに関するいくつかの質問
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Objective-C。NULL、nil、@""の違いは何ですか?
-
[解決済み] イニシャライザーの要素がコンパイル時定数でない
-
[解決済み] Objective-Cでオブジェクトをキャストする方法
-
[解決済み] Objective-Cは構造体の使用を禁じていますか?
-
[解決済み] Objective-Cの#importと#includeの違いは何ですか?
-
[解決済み] objcの "pi "と "M_PI "の違いは何ですか?
-
[解決済み] プロジェクト内の単一ファイルのARCを無効にするにはどうしたらいいですか?
-
[解決済み] C言語で純粋にiOSアプリを書く方法
-
[解決済み】浮動小数点以下が2桁しか表示されないようにする
-
[解決済み】このブロックで自己を強く捉えると、リテインサイクルになりそうです。