Static variable in singleton
I have a singleton and want to create internal flag variable that should indicate that singleton was "released" and when I getting singleton instance its should reinitialize itself.

For this case I decide to use static variable 

    static BOOL wasReleased = NO; 

and set it to "YES" in destroy function: 
    
    - (void)destroy
    {
        wasReleased = YES;
        ...release internal singleton resources...
    }

But when I try to get singleton instance this variable value is always "NO" so internal resources never reinitialized after releasing:

    + (MySingleton *)sharedInstance
    {
        if (sharedCoordinator == nil)
        {
            sharedCoordinator = [[super alloc] init];
            [sharedCoordinator initialize];
        }
    
        if (wasReleased) 
        {
            [sharedCoordinator initialize];
        }
    
        return sharedCoordinator;
    }

My understanding of this situation maybe wrong, please clarify its for me.
Static variable in singleton
===

I have a singleton and want to create internal flag variable that should indicate that singleton was "released" and when I getting singleton instance its should reinitialize itself.

For this case I decide to use static variable 

    static BOOL wasReleased = NO; 

and set it to "YES" in destroy function: 
    
    - (void)destroy
    {
        wasReleased = YES;
        ...release internal singleton resources...
    }

But when I try to get singleton instance this variable value is always "NO" so internal resources never reinitialized after releasing:

    + (MySingleton *)sharedInstance
    {
        if (sharedCoordinator == nil)
        {
            sharedCoordinator = [[super alloc] init];
            [sharedCoordinator initialize];
        }
    
        if (wasReleased) 
        {
            [sharedCoordinator initialize];
        }
    
        return sharedCoordinator;
    }

My understanding of this situation maybe wrong, please clarify its for me.