• 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: Why would +[initialize] be called twice?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why would +[initialize] be called twice?


  • Subject: Re: Why would +[initialize] be called twice?
  • From: Jonathan del Strother <email@hidden>
  • Date: Mon, 24 Aug 2009 18:26:06 +0100

On Mon, Aug 24, 2009 at 6:19 PM, Michael A.
Crawford<email@hidden> wrote:
> Why would the class initializer be called more than once when my app starts
> up? Is this expected behavior?  In case you're wondering, it is called
> twice.
>
> + (void)initialize
> {
>    // Create the defaults dictionary, fill it with the standard values,
>    // and register it.
>    NSMutableDictionary* defaultValues = [NSMutableDictionary dictionary];
>
>    [defaultValues setObject:[NSNumber numberWithBool:YES]
>                      forKey:CDFilterKey];
>    [defaultValues setObject:[NSNumber numberWithBool:YES]
>                      forKey:CDNotifyUserOnAnalysisCompletionKey];
>    [defaultValues setObject:[NSNumber numberWithBool:YES]
>                      forKey:CDPlaylistReminderKey];
>
>    [[NSUserDefaults standardUserDefaults] registerDefaults:defaultValues];
>
>    MCLog(@"Registered defaults: %@", defaultValues);
> }
>


You should generally check for "self == [MyClass class]" at the start
of +[MyClass initialize].  It can get called twice if, say, someone
subclasses your class, and the subclass doesn't implement initialize.
_______________________________________________

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: 
 >Why would +[initialize] be called twice? (From: "Michael A. Crawford" <email@hidden>)

  • Prev by Date: Why would +[initialize] be called twice?
  • Next by Date: Re: Why would +[initialize] be called twice?
  • Previous by thread: Why would +[initialize] be called twice?
  • Next by thread: Re: Why would +[initialize] be called twice?
  • Index(es):
    • Date
    • Thread