On Mar 18, 2012, at 10:35 AM, Quincey Morris wrote:

> On Mar 17, 2012, at 18:59 , Roland King wrote:
> 
>> I will just need to be more diligent checking ivars against the properties 
>> they support to ensure they match 
> 
> Clang *was* checking this, at least in Xcode 4.2.
> 
> We had a thread a couple of months ago discussing this, in a case where the 
> check was over-zealous. Clang would produce a warning for '@synthesize foo' 
> if the property was declared '@property (readonly)', and required you to 
> declare it as '@property (readonly, strong)' to avoid the warning.
> 
> I mention this because Xcode 4.3's clang doesn't complain about this any more.
> 
> Also, note that 'weak' and 'strong' etc really shouldn't be on @property 
> either, since they only affect the way the ivar is handled. The property 
> itself is neither weak nor strong.
> 
> The justification given for leaving them on @property was that the 
> complication of attributes on @synthesize seemed undesirable, and that 
> @synthesize is headed the way of the dodo anyway.
> 

Did it really? I never saw that, are you talking about the static analyzer? 
Clang always errored if you synthesize a property with the wrong type of 
backing variable, still does that. My case was more subtle, I had my own setter 
and getter and the underlying ivar was strong where the property was weak. I 
know of nothing which catches that mistake, the analyzer doesn't and I 
appreciate Greg Parker's suggestion that I file an enhancement request for 
that, seems like something it could do which would be useful. 

_______________________________________________

Cocoa-dev mailing list ([email protected])

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to