On 05.10.2009, at 10:39, Gabriel Zachmann wrote:
I supposed that the screen saver manager would just call - initWithFrame: again.

-init... methods are only called once on an instance, when it is alloced and inited. Calling it several times on the same instance that has already been initialized goes against every bit of documentation on AppKit, and more importantly, Objective C out there. I think you should get yourself a good book about Objective C, it sounds like the one you learned from so far omitted some very important aspects of Objective C.

Extra credit: the user has multiple displays attached, "Main screen only" option is off, and the user clicks the Test button or activates your screen saver (hot corner, inactivity). What do you expect will happen then?

I assumed it would load(!) & run the screen saver bundle multiple times.
And it's not that this assumption is complete nonsense, is it?

You cannot load a bundle several times on the Mac. That's because you can't unload a bundle. After all, you could be defining string constants or custom subclasses in your bundle, and someone in the program that loaded your bundle could be retaining one of those objects. Unloading it would make your application crash, because suddenly the code the class points to or the TEXT section from which the constant string came would be gone.

Cheers,
-- Uli Kusterer
"The witnesses of TeachText are everywhere..."



_______________________________________________

Cocoa-dev mailing list ([email protected])

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to