[cfe-dev] ARC and @synthesize of read only property
Chris Lattner
clattner at apple.com
Tue Jul 19 19:04:17 PDT 2011
On Jul 19, 2011, at 11:46 AM, Jean-Daniel Dupas wrote:
> When I'm trying to synthesize a read only property in obj-c, I get the following error.
>
> error: ARC forbids synthesizing a property of an Objective-C object with unspecified storage attribute [4]
>
> I understand why it is necessary to specify storage attribute to generate a setter, but why is it relevant to generate a getter ?
>
>
> Just in case, here is a simple test case:
>
> @interface Foo { id _ivar; }
> @property(nonatomic, readonly) id ivar;
The simple answer is that this code defaulted to being an "assign" property before, and that dangerous because it quickly leads to a dangling pointer. ARC forces you to make a choice: strong, weak, unsafe_unretain, etc.
-Chris
More information about the cfe-dev
mailing list