0

簡単にファイルを共有するために、iPhone をペンドライブとして機能させる iPhone アプリケーションを作成しています。

最初の段階では、ディレクトリにいくつかのファイル(png、pdf、jpg、zip)があり、それらを可変配列の形式でテーブルビューに表示させました。以下に示すように、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 
4

1 に答える 1

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);
于 2010-11-09T07:35:28.353 に答える