我正在我的应用中实现音频播放器。我有一个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百万年”)。
我做错了什么?我一直在寻找答案,但从来没有得到它(可能是由于错误的措辞)
非常感谢大家。 :)
答案 0 :(得分:1)
如果你想要它的最后一部分,你应该使用lastPathComponent
。所以:
cell.textLabel.text = [[[self.fileArray objectAtIndex:indexPath.row] lastPathComponent] stringByDeletingPathExtension];
答案 1 :(得分:0)
这不是扩展名。它被称为“路径”。 (在尝试编程之前,使用计算设备至少让自己达到可接受的知识水平会很好...)
我建议你使用
[somePath lastPathComponent]
而不是仅在没有包含目录的情况下获取文件名。
此外,对[NSString stringWithFormat:]
的调用完全是多余的,浪费内存和处理器时间(这是不可接受的,尤其是在嵌入式设备上)。