私はXcode4.2を使用して最初のiOSアプリの開発を開始し、「ユーティリティアプリケーション」テンプレート(FlipsideViewControllerに付属しているもの)を使用してiOS5.0をターゲットにしていました。
ARCはコンパイル時の機能なので、iOS 4とも互換性があるはずだと読んだので、アプリを4.3にターゲットにして、コンパイルしてみました。そうすると、次のエラーが発生します。
FlipsideViewController.m:エラー:自動参照カウントの問題:現在のデプロイメントターゲットは自動化された__weak参照をサポートしていません
この行を参照しています:
@synthesize delegate = _delegate;
その変数は次のように宣言されます。
@property (weak, nonatomic) IBOutlet id <FlipsideViewControllerDelegate> delegate;
「弱い参照」はiOS4でサポートされていないことは理解していますが、最初に弱い参照を使用する理由がよくわかりません。また、使用を避けるためにどのように書き直すのかわかりません。まだARCを利用しています(結局のところ、iOS 4と5で動作するはずですよね?)