• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Detecting Initialization
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Detecting Initialization


  • Subject: Re: Detecting Initialization
  • From: Michael Ash <email@hidden>
  • Date: Wed, 28 Jan 2009 23:51:47 -0500

On Wed, Jan 28, 2009 at 8:48 PM, David H. Silber <email@hidden> wrote:
> On Thu, Jan 29, 2009 at 11:39:21AM +1100, Graham Cox wrote:
>>
>> On 29 Jan 2009, at 11:06 am, David H. Silber wrote:
>>
>> >Is there some means of detecting if an instance has been initialized?
>> >
>> >I'm thinking not.  Apple's "NSObject Class Reference" says "The init
>> >method defined in the NSObject class does no initialization", and
>> >googling around on the topic has not produced any means of doing
>> >so.  I
>> >ask here in case someone has some knowledge I have not been able to
>> >find.  Even a definitive "No" would help, as I could stop searching
>> >for
>> >an answer which doesn't exist.
>
>>
>> The answer is no, but in order to comply with Cocoa's non-optional
>> rule on this, if an instance exists, it's initialised. Otherwise
>> you've made a grave error.
>>
>> WAYTTD?
>
> I was hoping to be able to write a unit test which would confirm that an
> object had been properly initialized.

What counts as "initialized" depends entirely on the class in question.

NSObject does nothing in its initializer. As a consequence, an
NSObject instance is fully initialized as soon as it comes back from
+alloc, and stays that way until it is destroyed. There's no way to
have an uninitialized NSObject instance.

For your classes, you get to decide what counts as initialized. Do you
want to check for certain necessary bits of state? Do you want to just
set an "initialized" flag that you check? It's all up to you. Keep in
mind that an allocated but uninitialized object has its instance
variables filled with zero, that will help you to identify that state.

Mike
_______________________________________________

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

References: 
 >Detecting Initialization (From: "David H. Silber" <email@hidden>)
 >Re: Detecting Initialization (From: Graham Cox <email@hidden>)
 >Re: Detecting Initialization (From: "David H. Silber" <email@hidden>)

  • Prev by Date: Re: Multiple Nib Question
  • Next by Date: Formatting Core Data Conflict List
  • Previous by thread: Re: Detecting Initialization
  • Next by thread: Re: Detecting Initialization
  • Index(es):
    • Date
    • Thread