Re: + (void) initialize not getting called
Re: + (void) initialize not getting called
- Subject: Re: + (void) initialize not getting called
- From: Andy Lee <email@hidden>
- Date: Sun, 24 Jul 2011 15:51:47 -0400
Looks okay to me. Is there anything unusual about how you're creating instances? The docs say +initialize is sent before any message is sent to the *class*. So if you're using some variation of [[DBWord alloc] init...] I would expect it to be called before the first time you ever call alloc.
--Andy
On Jul 24, 2011, at 3:33 PM, Ken Tozier wrote:
> Hi
>
> I wrote a class that stores data common to all instances in an, init file, but when I create new instances, + (void) initialize isn't getting called. I thought that initialize was always called before anything else, so am a but confused why it isn't working. I don't want to create a global "initialized" flag and have to check that inside every method. Here's a stripped down version of the initialize method. Anyone see what I'm doing wrong? Is there any other way to insure that initialize is called before any other method in the class?
>
> static NSMutableString *gSharedData = nil;
>
> @implementation DBWord
>
> + (void) initialize
> {
> @synchronized(self)
> {
> if (gSharedData == nil)
> {
> NSLog(@"made it to here");
>
> NSError *error = nil;
> gSharedData = [[NSMutableString alloc] initWithContentsOfFile: @"/path/to/shared/file.txt" encoding: NSUTF16StringEncoding error: &error];
> }
> }
> }
>
> ...
>
> @end
>
>
>
>
> _______________________________________________
>
> 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
_______________________________________________
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