列出`contentsOfDirectoryAtURL`时,我想要一个只包含目录名的数组,而不是整个路径。我该怎么做呢?

时间:2012-06-25 22:14:30

标签: objective-c ios

我正在使用contentsOfDirectoryAtURL来获取特定目录的列表。是否有一种简单的方法来获取目录名称,而不是完整路径?

例如,而不是:

file://localhost/var/mobile/Applications/.../Documents/MySavedFiles/1872399DDF
file://localhost/var/mobile/Applications/.../Documents/MySavedFiles/3431109ABE

我想要

1872399DDF
3431109ABE

感谢。

2 个答案:

答案 0 :(得分:3)

首先将NSURL转换为NSStrings,然后您可以提取目录名称。

NSString的一些非常有用的方法是lastPathComponent和stringByDeletingPathExtension

NSMutableArray* directoryNames = [NSMutableArray array];

NSArray* fullPaths = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:...];

for (NSURL* url in fullPaths)
{
     [directoryNames addObject:[[url absoluteString] lastPathComponent]];
}

答案 1 :(得分:1)

NSArray *URLs = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:...];
NSArray *filenames = [URLs valueForKeyPath:@"lastPathComponent"];