-1

アプリにオーディオ プレーヤーを実装しています。オーディオトラックのリストを表示する UITableView があります。

オーディオのリストが配列に追加されます

fileArray = [[NSMutableArray alloc] initWithObjects:
                 [[NSBundle mainBundle] pathForResource:@"A Million Years" ofType:@"mp3"],
                 [[NSBundle mainBundle] pathForResource:@"2 Million Years" ofType:@"mp3"],...

そして私の cellForRowAtIndexPath で私はやっています

cell.textLabel.text = [[NSString stringWithFormat:@"%@", [self.fileArray objectAtIndex:indexPath.row]] stringByDeletingPathExtension];

しかし、問題は、拡張子「/Users/....」全体が表示されることです。ファイル名(「A Million Years」、「2 Million Years」)のみを表示したい。

私は何を間違っていますか?私は答えを探し回っていましたが、それを得ることができませんでした(おそらく間違った言い回しが原因です)

どうもありがとうございました。:)

4

2 に答える 2

1

lastPathComponent最後の部分が必要な場合に使用する必要があります。そう:

cell.textLabel.text = [[[self.fileArray objectAtIndex:indexPath.row] lastPathComponent] stringByDeletingPathExtension];
于 2012-10-17T15:50:49.003 に答える
0

それは拡張子ではありません。それは「パス」と呼ばれます。(プログラミングを試みる前に、コンピューティング デバイスの使用に関して少なくとも許容レベルの知識を身につけておくことをお勧めします...)

使用することをお勧めします

[somePath lastPathComponent]

代わりに、含まれているディレクトリなしでファイル名のみを取得するために。

また、 の呼び出し[NSString stringWithFormat:]は完全に不必要であり、メモリとプロセッサ時間を浪費します (これは、特に組み込みデバイスでは受け入れられません)。

于 2012-10-17T15:52:43.320 に答える