Re: KVO autonotifying complaining about custom setter return value
Re: KVO autonotifying complaining about custom setter return value
- Subject: Re: KVO autonotifying complaining about custom setter return value
- From: mmalc crawford <email@hidden>
- Date: Wed, 5 Mar 2008 15:06:01 -0800
On Mar 5, 2008, at 2:56 PM, Bill Garrison wrote:
Note that this implies that the accessor methods are atomic. It's
comparatively rare (unless you're using GC) that Cocoa developers
implement atomic accessor methods, so you'd typically specify:
@property (nonatomic, setter=mySetMethod:,getter=myMethod) id
valueTest;
So for most non-GC code, properties should be specified using
@property (nonatomic, ...)?
I've seen a lot of Apple sample code that doesn't. Should we be
filing docs/sample code bugs, or just enabling GC?
If the documentation/sample code is not for GC and does not specify
nonatomic and there is a provided implementation that is not atomic,
then yes you should file a bug.
A couple of examples to illustrate: If the sample defines
@property (copy) NSString *string;
then
@synthesize string;
that's fine.
If it defines:
@property (copy) NSMutableString *string;
then
@synthesize string;
- (void)setString:(NSString *)newString {
if (string != newString) {
[string release];
string = [newString mutableCopy];
}
}
that would not be OK (the declaration should include nonatomic).
mmalc
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden