Sub*_*bbu 35 iphone nsfilemanager ios
我的程序显示Documents目录的内容并显示在tableView中.但Documents目录包含一些目录,一些音频,一些视频和一些图像等.
NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsDir = [dirPaths objectAtIndex:0];
fileType = @"" ;
NSString *subDirectoryPath = [docsDir stringByAppendingPathComponent:fileType];
NSLog(@"path : %@",subDirectoryPath);
files = [[NSMutableArray alloc] initWithArray:[[NSFileManager defaultManager] contentsOfDirectoryAtPath:subDirectoryPath error:nil]];
NSLog(@"files ::::: %@ ",[files description]);
Run Code Online (Sandbox Code Playgroud)
所以,我想检查文件是否是目录,然后它的目录图像可以显示在单元格的imageView中.音频,视频和图像也是如此.
我在NSFileManager classReference中搜索过,但是dint得到了一个解决方案.
这该怎么做 ?
Bha*_*vin 54
示例代码:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSArray *directory = [[NSFileManager defaultManager] directoryContentsAtPath: documentsDirectory];
BOOL isDirectory;
for (NSString *item in directory){
BOOL fileExistsAtPath = [[NSFileManager defaultManager] fileExistsAtPath:item isDirectory:&isDirectory];
if (fileExistsAtPath) {
if (isDirectory)
{
//It's a Directory.
}
}
if ([[item pathExtension] isEqualToString:@"png"]) {
//This is Image File with .png Extension
}
}
Run Code Online (Sandbox Code Playgroud)
您也可以使用Bavarious 在此处解释的统一类型标识符.
示例代码:
NSString *file = @"…"; // path to some file
CFStringRef fileExtension = (CFStringRef) [file pathExtension];
CFStringRef fileUTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, fileExtension, NULL);
if (UTTypeConformsTo(fileUTI, kUTTypeImage)) NSLog(@"It's an image");
else if (UTTypeConformsTo(fileUTI, kUTTypeMovie)) NSLog(@"It's a movie");
else if (UTTypeConformsTo(fileUTI, kUTTypeText)) NSLog(@"It's text");
CFRelease(fileUTI);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21935 次 |
| 最近记录: |