How do I replace weak references when using ARC and targeting iOS 4.0?

Viewed 49906

I've begun developing my first iOS app with Xcode 4.2, and was targeting iOS 5.0 with a "utility application" template (the one that comes with a FlipsideViewController).

I read that since ARC is a compile-time feature, it should be compatible with iOS 4 as well, so I attempted to target my app to 4.3, and try compiling it. When I do so, I get this error:

FlipsideViewController.m: error: Automatic Reference Counting Issue: The current deployment target does not support automated __weak references

It is referencing this line:

@synthesize delegate = _delegate;

That variable is declared as:

@property (weak, nonatomic) IBOutlet id <FlipsideViewControllerDelegate> delegate;

I understand that "weak references" are not supported in iOS 4, but I don't really understand why I would want to use a weak reference to begin with, nor can I figure out how I would rewrite things to avoid using it, while still taking advantage of ARC (after all, it's supposed to work with iOS 4 AND 5 right?)

3 Answers
Related