iOS pathForResource仅显示文件名

时间:2012-10-17 15:48:40

标签: iphone ios

我正在我的应用中实现音频播放器。我有一个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 / ....”。我只想要显示文件名(“百万年”,“2百万年”)。

我做错了什么?我一直在寻找答案,但从来没有得到它(可能是由于错误的措辞)

非常感谢大家。 :)

2 个答案:

答案 0 :(得分:1)

如果你想要它的最后一部分,你应该使用lastPathComponent。所以:

cell.textLabel.text = [[[self.fileArray objectAtIndex:indexPath.row] lastPathComponent] stringByDeletingPathExtension];

答案 1 :(得分:0)

这不是扩展名。它被称为“路径”。 (在尝试编程之前,使用计算设备至少让自己达到可接受的知识水平会很好...)

我建议你使用

[somePath lastPathComponent]

而不是仅在没有包含目录的情况下获取文件名。

此外,对[NSString stringWithFormat:]的调用完全是多余的,浪费内存和处理器时间(这是不可接受的,尤其是在嵌入式设备上)。