我剛剛開始在Objective-C和我碰到這個例子來打造一個單身:澄清一個Objective-C的Singleton實例
+ (BNRItemStore *) sharedStore
{
static BNRItemStore *sharedStore = nil;
if (!sharedStore)
sharedStore = [[super allocWithZone:nil] init];
return sharedStore;
}
我明白了什麼是他想要做的事 - 這是如果它存在,則返回相同的實例,如果不存在,則創建一個新實例。讓我困擾的是這行:
static BNRItemStore *sharedStore = nil;
這會不會行重置sharedStore到零值,每次調用該方法?我沒有看到的方法如何能夠返回先前存在的情況下,如果該行一直將其設爲零。
在此先感謝。
謝謝各位的全面的答案。瞭解。 – Jops