__attribute__((NSObject)) not behaving as expected
__attribute__((NSObject)) not behaving as expected
- Subject: __attribute__((NSObject)) not behaving as expected
- From: Kevin Meaney <email@hidden>
- Date: Fri, 24 Jan 2014 18:58:30 +0000
Building on and compiling for minimum system of 10.9. Xcode 5.0.1
Using ARC.
I have a property declared so:
@property (readonly, strong) __attribute__((NSObject)) CGContextRef context
I have a designatied initializer defined like so:
-(instancetype)initWithCGContext:(CGContextRef)theContext
The object is alloc'd and the init method is called immediately after the context is created. Immediately after the init method returns the context is released.
If in the implementation of the init method I have:
self->_context = theContext
Then the first time I try and access the context I get a memory access exception. If I replace that with:
self->_context = CGContextRetain(theContext);
Then I get a memory leak of the context when my object is destroyed.
If however I just declare my property like so:
@property (readonly) CGContextRef context;
And in the initializer I use:
self->_context = CGContextRetain(theContext);
And add a dealloc:
-(void)dealloc
{
CGContextRelease(self->_context);
}
Then everything works as desired.
I'd like to know what I'm doing wrong.
Kevin
_______________________________________________
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