On Sep 12, 2013, at 3:02 PM, Lee Ann Rucker <lruc...@vmware.com> wrote:

> 
> On Sep 12, 2013, at 2:52 PM, Aaron Montgomery wrote:
>> 
>> I think it is either
>> _protoCell = [[Cell alloc] init];
>> or
>> self.protoCell = [[Cell alloc] init];
> 
> These aren't equivalent unless the @property is assign, which usually is not 
> what you want for object instvars that you intend to own. 
> 
> @property (readwrite, retain) protoCell;
> 
> _protoCell = [[Cell alloc] init];
> self.protoCell = [[[Cell alloc] init] autorelease];
> self.protoCell = [foo somethingThatReturnsAProtoCell]; // since getters 
> generally do not provide a retained object; see earlier discussions today :)
> 
> self.protoCell = nil;
> [_protoCell release]; _protoCell = nil;

Right, the original poster will need to decide which one has appropriate 
semantics for his situation. Just providing him with his two syntactic options. 
Since he is doing this work in an initializer, I suspect he will want direct 
ivar access. If he wants to use the property access and isn't using ARC, he 
will need the autorelease.

Aaron



_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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 arch...@mail-archive.com

Reply via email to