2012-10-26 43 views
2

我有一個NSDate類與下述方法兼容的指針類型發送「級」到類型的參數「的NSDate *」

@implementation NSDate (DateUtility) 

+(NSString *)dateTimeStringForDB { 
    NSDateFormatter *dateFormatForDB = [[NSDateFormatter alloc] init]; 
    [dateFormatForDB setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
    NSString *aDateStr= [dateFormatForDB stringFromDate:self]; 
    [dateFormatForDB release]; 
    return aDateStr;  
} 
@end 

這一定義我收到警告。

兼容的指針類型發送「類」到類型的參數作爲參數抑制此警告「的NSDate *」

但是類型轉換自之前爲它分配。

+(NSString *)dateTimeStringForDB 
{ 
    NSDateFormatter *dateFormatForDB = [[NSDateFormatter alloc] init]; 
    [dateFormatForDB setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
    NSString *aDateStr= [dateFormatForDB stringFromDate:(NSDate*)self]; 
    [dateFormatForDB release]; 
    return aDateStr;  
} 

我們真的不能將自我作爲參數傳遞到類別中嗎?這個功能依賴於編譯器是什麼?尋找答案之前,實際上發佈它作爲一個問題,所以我遇到了this,但我仍然不清楚背後的場景。

回答

5

你已經創建了一個類方法,我懷疑你真的想要一個實例方法。我假設你想要將一個NSDate(即一個對象)的實例轉換爲NSString表示。目前您正嘗試將實際的NSDate類轉換爲NSString表示。

變化

+(NSString *)dateTimeStringForDB { 

-(NSString *)dateTimeStringForDB { 
+0

謝謝,不知道爲什麼,但我只是錯過了。 –

相關問題