2012-04-14 79 views
1

這是我的單身代碼:如何添加另一個對象到我的單例代碼?

@synthesize listOfSites; 

+ (id)sharedInstance 
{ 
    static dispatch_once_t dispatchOncePredicate = 0; 
    __strong static id _sharedObject = nil; 
    dispatch_once(&dispatchOncePredicate, ^{ 
     _sharedObject = [[self alloc] init]; 
    }); 

    return _sharedObject; 
} 

-(id)init 
{ 
    self = [super init]; 
    if (self) { 
     listOfSites = [[NSMutableArray alloc] init]; 
    } 
    return self; 
} 

@end 

這幾乎是教科書......不過,我想補充另一個數組,類同「listOfSites」(稱之爲「listOfReadings」)。說「如果(自我)」的代碼讓我感到困惑。

如何在此代碼中添加另一個數組?

回答

2

if (self) {什麼也不做,但要驗證[super init]已經工作 - 並且它不返回NULL或什麼...

除此之外,你可以正常做到這一點,如:

  • 聲明一個listOfReadings陣列(作爲實例變量/屬性?)
  • 集合起來

    listOfReadings = [[NSMutableArray alloc] init]; 
    

    listOfReadings = [[NSMutableArray alloc] initWithObjects:nil]; 
    

    (如果它是一個property

    [self setListOfReadings:[[NSMutableArray alloc] initWithObjects:nil]]; 
    

實施例:

-(id) init { 
    self = [super init]; 
    if (self) { 
     listOfSites = [[NSMutableArray alloc] init]; 
     listOfReadings = [[NSMutableArray alloc] init]; 
    } 
    return self; 
} 

.h文件已宣佈新NSMutableArray後:換句話說

NSMutableArray* listOfReadings; 
+0

非常感謝你......這就是我的想法,但後來還不確定。 – SpokaneDude 2012-04-14 22:25:44

+0

@ spokane-dude不客氣,很高興有幫助! :-) – 2012-04-14 22:26:13

1
-(id) init { 
self = [super init]; 
if (self) { 
    listOfSites = [[NSMutableArray alloc] init]; 
    listOfReadings = [[NSMutableArray alloc] init]; 
} 
return self; 

}

如果(個體經營)表示「如果成功創建當前對象的話.. 「

相關問題