2011-09-09 18 views
2

単純なARCコードを非ARCに変換する必要があります。私はインスタンス変数の代入self.var = xxxを見逃していましたが、代わりにvar = xxxを書きました。異なるメモリ管理ARC/no ARC

ARCバージョンでは問題はありませんでしたが、ARC以外のバージョンではクラッシュが発生しました。

これは、実際にはARC内にインスタンス変数を割り当てても問題ありません。彼らは保持されますか?

ありがとうございます!

PSはARCにプログラムする方法を学習するための最良のソース何ので、一つはabviousエラーを回避 - これまでのところ、私はまったく問題は見つかりませんでしたが、私は私が何か

+0

は、はい、私は理解して(画像に示すように、引用符なし)を押してENTER /「-fno-にObjCアーク」キー

タイプを入力しますヒット - これはiOS5をしかしARCに関するものではありません - とARC LLVM 3.0によってすでにリリースされています....だから、私はそれが良いと思った – user387184

+0

私の悪い。それを知らなかった:-)私は私のコメントを削除します。 – 0x8badf00d

+0

NDAのARC実装の詳細はありませんか? – Macmade

答えて

1

んが見逃しているかもしれないと神経質になっていますつまり、自己がなくてもインスタンス変数をARCに割り当てることは、実際にはOKです。彼らは保持されますか?

はい、種類です。

id obj_; 

これはこれと同じです。

id __strong obj_; 

obj_は、割り当てられたオブジェクトに対する強い参照を持っています。割り当てられたオブジェクトは、ivarの所有者オブジェクトが解放されるまで、割り当て解除されません。

LLVM documentまたはNDAの下にあるAppleのARCリファレンスを参照してください。

+0

それは良いニュースです!ありがとう – user387184

0

enter image description here

enter image description here

自動参照カウントは「deallocを」私は新しいiOS5をSDKの古いライブラリのコンパイルを有効にするには、トリックを共有している

の明示的なメッセージ送信を禁止します。

プロジェクトをクリックします。

ターゲットをクリックします。

[ビルドフェーズ]タブを選択します。

ARCをオフにする複数のファイルを選択します。