2011-04-14 64 views
0

我使用Singleton類和下面的代碼:Objective C Singleton類「已定義但未使用」警告!

.h文件中:

#import <Foundation/Foundation.h> 


@interface Credential : NSObject { 
    NSString *UID; 
    NSString *UPASS; 


} 

@property(nonatomic,retain) NSString *UID; 
@property(nonatomic,retain) NSString *UPASS; 


static Credential *credential = NULL; 

+(Credential*) sharedInstance; 

/* 
+ @property(nonatomic,retain) NSString *UID; 
+ @property(nonatomic,retain) NSString *UPASS; 
*/ 

@end 

.m文件:

#import "Credential.h" 


@implementation Credential 

@synthesize UID,UPASS; 

-(void) dealloc{ 
    [UID release]; 
    [UPASS release];  
    [super dealloc]; 
} 

+(Credential*) sharedInstance 
{ 
    @synchronized(self) 
    { 
     if (credential == NULL) { 
      credential = [[Credential alloc] init]; 
     } 
    } 
    return credential; 
} 

@end 

下生產線生產的警告「已定義但未使用」

static Credential *credential = NULL; 

我無法弄清楚,我一直在.m文件下的「sharedInstance」函數使用憑證變量,那麼爲什麼我得到這個警告?

給我一個奇怪的問題!

回答

3

當您將靜態變量移動到實現.m)文件的頂部時,問題是否消失?在相關說明中,我認爲您完全可以從getting rid of the singleton中受益。

+0

+1幫助我找到答案並提供快速答案。我希望我能在9分鐘前給你答案。 :) – necixy 2011-04-14 10:16:22

+0

Yeha !!! 現在我可以將答案標記爲正確。 你是搖擺的伴侶! 非常感謝! – necixy 2011-04-14 10:25:53

+0

高興地幫助:) – zoul 2011-04-14 10:31:23

相關問題