2010-11-09 134 views
0

我正在創建一個iPhone應用程序,它使iphone成爲一個便攜式文件共享軟盤。NSFileManager,文件擴展名

在第一階段,我在一個目錄中有一些文件(png,pdf,jpg,zip),並且我使它們以可變數組的形式顯示在tableview中。它顯示在tableView中,如下所示,

.DS_Store 
.localized 
gazelle.pdf 
Hamburger_sandwich.jpg 
IITD TAJ Picture 028_jpg.jpg 
iya_logo_final_b&w.jpg 
manifesto09-eng.pdf 
RSSReader.sql 
SimpleURLConnections.zip 
SQLTutorial 

我只想顯示文件的名稱,我不想顯示擴展名。我知道可以在NSFileManager中提取文件的擴展名。但是我不知道怎麼做。請幫我,使我的表視圖看起來像這樣

.DS_Store 
.localized 
gazelle 
Hamburger_sandwich 
IITD TAJ Picture 028_jpg 
iya_logo_final_b&w 
manifesto09-eng 
RSSReader 
SimpleURLConnections 
SQLTutorial 

回答

0

查找到的NSString的文檔,還有你會發現stringByDeletingPathExtension

其基本思想是你不想更新現有數組中的對象,而是創建一個新的數組,其文件名不帶擴展名,並丟棄原始數組。

這是它是如何做:

NSArray *stuff = [NSArray arrayWithObjects:@"image1.jpg", @"image2.png", @"image3.tiff", nil]; 
NSLog(@"input %@", stuff); 

stuff = [stuff valueForKey:@"stringByDeletingPathExtension"]; 
NSLog(@"output %@", stuff); 

我不希望你明白的代碼,因此這裏有一個更簡單的版本:

NSArray *stuff = [NSArray arrayWithObjects:@"image1.jpg", @"image2.png", @"image3.tiff", nil]; 
NSLog(@"input %@", stuff); 

NSMutableArray *output = [NSMutableArray array]; 
for (NSString *filename in stuff) { 
    NSString *filenameWithoutExtension = [filename stringByDeletingPathExtension]; 
    [output addObject:filenameWithoutExtension]; 
} 
NSLog(@"output %@", output); 
+0

希望這會工作。 – iOS 2010-11-09 07:51:21

+0

如何使用stringByDeletingPathExtension作爲可變數組?任何想法? – iOS 2010-11-09 09:10:58

+0

你應該考慮投入一些時間來學習編程的基礎知識,然後才能進入程序員的站點。 – Michal 2010-11-09 17:06:34