as I continue my studies the book implemented a singleton. 
I understood the reason why use it but I just wanted some clarification regarding the code.

```
+ (BNRItemStore *)defaultStore
{
    static BNRItemStore *defaultStore = nil;
    if(!defaultStore)
        defaultStore = [[super allocWithZone:nil] init];

    return defaultStore;
}

```

In the line `static BNRItemStore * defaultStore = nil;` until the return statement.
My question is; all the time that I call this class, `[[BNRItemStore defaultStore] someMethod];` in another class or part of the app, the defaultStore variable will be set to nil?

Cheers