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]
