On 20 Aug 2013, at 19:24, Uli Kusterer <witness.of.teacht...@gmx.net> wrote:

> You're missing an @synthesize privateData = _privateData; in your 
> @implementation, would be my guess.

There is no @synthesize, this is true. 
But Xcode normally does not mind, and I think this is (since when?) no longer 
necessary (maybe only in 64 bit?).

> 
> On Aug 20, 2013, at 1:07 PM, Gerriet M. Denkmann <gerr...@mdenkmann.de> wrote:
>> Trying to convert an older project to Arc, Xcode complains about "Use of 
>> undeclared identifier '_privateDate'".
>> And threatens that nothing will be done unless I fix this first.
>> 
>> Well - for one: without Arc there are no undeclared identifiers. (Builds 
>> without error or warnings).
>> 
>> The class with problems looks like:
>> 
>> @interface SomeClass( )
>> 
>> @property (strong) NSDate *privateDate;
>> 
>> @end
>> 
>> 
>> @implementation SomeClass
>> 
>> - (id)initAt:(NSDate *)someDate ;
>> {
>>      self = [ super init ];
>>      if ( self == nil ) return nil;
>>      
>>      _privateDate = [ someDate retain ];
>>      
>>      return self ;
>> }
>> 
>> ... some other stuff omitted ...
>> 
>> @end
>> 
>> I always thought that using accessors (like self.privateDate) in init 
>> methods was NOT a good idea, because at this point the thing might not be 
>> completely initialised and functional, so one had better use _privateDate 
>> directly.
>> And the accessor methods like setPrivateDate: might rely on a completely 
>> functional object.
>> 
>> Is this correct? 
>> 
>> How to placate Xcode?
>> 
>> Gerriet.


_______________________________________________

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