BNRItemStore
is a singleton, and I was confused on why super allocWithZone:
must be called instead of plain old super alloc
. And then override alloc
instead of allocWithZone
.
#import "BNRItemStore.h"
@implementation BNRItemStore
+(BNRItemStore *)sharedStore {
static BNRItemStore *sharedStore = nil;
if (!sharedStore)
sharedStore = [[super allocWithZone: nil] init];
return sharedStore;
}
+(id)allocWithZone:(NSZone *)zone {
return [self sharedStore];
}
@end