我正在创建一个iPhone应用程序,它使iphone充当pendrive以便轻松共享文件。
在第一阶段,我在目录中有一些文件(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 :(得分: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);