2010-11-09 133 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