Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Re: Detecting Initialization
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Detecting Initialization




On Jan 28, 2009, at 4:46 PM, 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.

I have written unit tests that confirm/validate object initialization. The ones I have written use accessors to gain then test (via assertion) the value of properties that should be initialized. When I have multiple initializers, I unit test them individually. Of course, if there is a failure in the accessors, these unit tests will indicate that the object isn't properly initialized, but still, catching bugs is what unit testing is all about. If you are just looking to ensure that the object was created at all, you can assert that it is not nil. You can, for instance, create assertions that invoke methods on the object (say, if you want to confirm its Class). What specifically about the object's initialization are you wanting to confirm?


_______________________________________________

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




Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.