xcode4.2にてメモリ管理の自動化設定(ARC)をプロジェクト作成時に選択することができます。[USE Automatic Reference Counting]にチェックを入れる



Fのブログ

その結果、コードにて'release''autorelese'を記述すると下記のようなエラーが発生することがあります。※他にも制約違反の記述がある場合は、同様なエラーが発生する 詳細は下記参照




ARC forbids explicit message send of 'release'


ARC forbids explicit message send of 'autorelease'




このメッセージはプロジェクトのBuildSettingsにて設定を変更することにより解除することが可能です。


※ちなみにARC使用時の制約は以下の通りです


・retain/release/autorelease/dealloc を呼ばない.他のリソース管理の為にdeallocメソッドを呼び出しすることは可能


・C言語の構造体にオブジェクトのポインタを利用しない 構造体の代わりにオブジェクトを利用する


・オブジェクト、id/void等をキャストしない ※キャストが必要な場合は注釈付きのキャスト演算子を使用する


・NSAutoreleasePoolオブジェクトを使用しない ※@autoreleasepoolを使用する




◎ProjectNavigater にて プロジェクト名を選択し、Build Setting にて下記の項目を[Yes]から[No]へ変更してください。


※メモリを自動管理する場合はデフォルト設定[Yes]のままでいいです






Fのブログ