2012-09-09 77 views
1

我需要連接一個NSString與NSDateFormatter的NSString輸出。我的代碼如下。 請檢查我要出錯的地方。我必須連接DEST PATHdatestring如何連接NSString和NSDateFormatter

NSDateFormatter * formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"dd-MM-yyyy HH-mm"]; 

NSString * dateString = [formatter stringFromDate:[NSDate date]]; 

NSString *DEST_PATH=[NSHomeDirectory() stringByAppendingString:@"/Documents/Movie1]; 

// below is for concatenate 

result =[result stringByAppendingString:DEST_PATH]; 
result=[result stringByAppendingString:dateString]; 
+0

我沒有看到任何錯誤的代碼,除了你錯過了Movie1之後的最後一個引號。你有什麼問題(我認爲結果是一個空字符串開始)? – rdelmar

+0

你當然可以通過使用'[NSString stringWithFormat:@「%@/Documents/Movie1%@」,NSHomeDirectory(),dateString]'將所有三個附加操作放到一個語句中。 –

+0

雅... thanx這個信息..但實際上我需要以這樣一種方式連接,我已經給出了(/document/movie1.mp3)與日期是電影+日期(then.mp3),這樣的路徑每次當我保存它時得到不同的名字 –

回答

0

看來好像你從來沒有實例化NSStringresult。如果您使用stringByAppendingPathComponent方法會自動添加斜線你

NSDateFormatter * formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"dd-MM-yyyy HH-mm"]; 
NSString * dateString = [formatter stringFromDate:[NSDate date]]; 

NSString *DEST_PATH=[NSHomeDirectory() stringByAppendingString:@"/Documents/Movie1]; 
NSString* result=[DEST_PATH stringByAppendingPathComponent:dateString]; 

:我想上面更改爲以下。

此外,使用所有大寫字母作爲標識符通常表示c樣式的propocessor宏常量,因此將其用作變量可能會使某些人感到困惑。

+0

正確的,作爲一般規則總是使用以小寫字母開頭的變量名稱。對於以大寫字母開頭的課程。只有'#definition'(或者其他常量)才能使用全部大寫。 –

+0

雅... thanx這個信息..但實際上我需要連接的方式,我給了(/document/movie1.mp3)的日期是 電影+日期(then.mp3) 這樣每次我保存它時都會得到不同的名字。 –

0
NSDateFormatter * formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"dd-MM-yyyy HH-mm"]; 

NSString * dateString = [formatter stringFromDate:[NSDate date]]; 

NSString *DEST_PATH=[NSHomeDirectory() stringByAppendingString:@"/Documents/Movie1]; 

// below is for concatenate 
    NSString *resultStr=[NSString stringWithFormat:@"%@%@",DEST_PATH,dateString]; 

希望這可以幫助你。

+0

謝謝!有用!!還有一件事。我通過在進度條中使用NSURLConnection來下載文件。可以暫停或停止下載此文件。 –