Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // BNRItemStore.m
- // Homepwner
- //
- //
- #import "BNRItemStore.h"
- #import "BNRItem.h"
- @interface BNRItemStore ()
- @property (nonatomic) NSMutableArray *privateItems;
- @end
- @implementation BNRItemStore
- + (instancetype) sharedStore {
- static BNRItemStore *sharedStore;
- if (!sharedStore) {
- sharedStore = [[BNRItemStore alloc] initPrivate];
- }
- return sharedStore;
- }
- - (instancetype) init {
- [NSException raise:@"Singleton" format:@"Use +[BNRItemStore sharedStore]"];
- return nil;
- }
- - (NSArray *) allItems {
- return [self.privateItems copy];
- }
- - (NSArray *) expensiveItems {
- return [self.expensivePrivate copy];
- }
- - (NSArray *) cheapItems {
- return [self.privateItems copy];
- }
- - (instancetype) initPrivate{
- self = [super init]; // Call superclass's designated initializer
- if (self) {
- _privateItems = [[NSMutableArray alloc] init];
- }
- return self;
- }
- - (BNRItem *) createItem {
- BNRItem *item = [BNRItem randomItem];
- [self.privateItems addObject:item];
- if (item.valueInDollars > 50) {
- [self.expensivePrivate addObject:item];
- }
- return item;
- }
- @end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement