Ios 如何检查NSDocumentDirectory中是否存在数据
我单击按钮并检查NSDocumentDirectory中是否存在(.png)或其他数据。如果存在,则推送视图控制器或不推送视图控制器 我试过这个Ios 如何检查NSDocumentDirectory中是否存在数据,ios,iphone,objective-c,Ios,Iphone,Objective C,我单击按钮并检查NSDocumentDirectory中是否存在(.png)或其他数据。如果存在,则推送视图控制器或不推送视图控制器 我试过这个 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *filePath = [d
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"u0-1b.png"];
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPad" bundle:nil];
UIViewController *controller = (UIViewController *)[storyboard instantiateViewControllerWithIdentifier:@"SavedViewController"];
[self.navigationController pushViewController:controller animated:YES];
}
else
NSLog(@"file doesnt exist");
这里我给出了完整的图像名称(u1-1b.png),它正在运行,但我想检查数据或扩展名(.png或)。您可以使用以下代码来管理它
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSArray *filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory error:nil];
NSLog(@"files array %@", filePathsArray);
if(filePathsArray.count > 0)
{
// data is exist;
}
else
{
// data does not exist;
}
您可以使用以下代码获取filePathsArray中每个对象的路径
for (int i = 0 ; i < filePathsArray.count; i++)
{
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:[filePathsArray objectAtIndex:i]];
}
for(int i=0;i
如果您想获得任何文件的扩展名,则@Basheer\u CAD的类文件对您很有帮助。您可以使用以下代码来管理它
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSArray *filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory error:nil];
NSLog(@"files array %@", filePathsArray);
if(filePathsArray.count > 0)
{
// data is exist;
}
else
{
// data does not exist;
}
您可以使用以下代码获取filePathsArray中每个对象的路径
for (int i = 0 ; i < filePathsArray.count; i++)
{
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:[filePathsArray objectAtIndex:i]];
}
for(int i=0;i
如果您想获得任何文件的扩展名,则@Basheer\u CAD的Like将对您有所帮助。此方法会将NSDictionary中的所有文件路径和扩展名返回到您的文档目录中,请使用它。如果要搜索子文件夹,则使用
目录
参数,例如:如果文件夹中有文件mmm
pass@/mmm“
,否则passnil
- (NSDictionary*)listOfFilesAtDirectory:(NSString*)directory
{
NSMutableDictionary *filesAtDirectory = [[NSMutableDictionary alloc] init];
NSString *documentsDir = [self documentsDirectory];
NSString *givenDirectory = [documentsDir stringByAppendingString:directory];
NSError *searchErr = nil;
NSArray *arrFiles = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:givenDirectory
error:&searchErr];
if(!searchErr)
{
for(NSString *strFileNameAndExtension in arrFiles)
{
NSString *strFilePath = [givenDirectory stringByAppendingPathComponent:strFileNameAndExtension];
[filesAtDirectory setObject:strFileNameAndExtension forKey:strFilePath];
}
}
else
{
NSLog(@"Error reading files in this directory: %@, \n Error description:%@", directory, searchErr.description);
}
return filesAtDirectory;
}
以防这是documentsDirectory方法
此方法返回文档目录中NSDictionary中的所有文件路径和扩展名,请使用它。如果要搜索子文件夹,则使用
目录
参数,例如:如果文件夹中有文件mmm
pass@/mmm“
,否则passnil
- (NSDictionary*)listOfFilesAtDirectory:(NSString*)directory
{
NSMutableDictionary *filesAtDirectory = [[NSMutableDictionary alloc] init];
NSString *documentsDir = [self documentsDirectory];
NSString *givenDirectory = [documentsDir stringByAppendingString:directory];
NSError *searchErr = nil;
NSArray *arrFiles = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:givenDirectory
error:&searchErr];
if(!searchErr)
{
for(NSString *strFileNameAndExtension in arrFiles)
{
NSString *strFilePath = [givenDirectory stringByAppendingPathComponent:strFileNameAndExtension];
[filesAtDirectory setObject:strFileNameAndExtension forKey:strFilePath];
}
}
else
{
NSLog(@"Error reading files in this directory: %@, \n Error description:%@", directory, searchErr.description);
}
return filesAtDirectory;
}
以防这是documentsDirectory方法
可能重复它不是重复的。您给出的链接与问题不同,那么您的意思是什么
检查数据或扩展名(.png,…)
?您是在询问是否可以搜索.png文件的路径?可以使用扩展名而不是给定的全名(filename.png)检入该文件夹可能是重复的。它不是重复的。你给出的链接是不同的问题,那么你的意思是什么检查数据或扩展名(.png,…)
?你是在问是否可以搜索.png文件的路径?可以使用扩展名而不是给定的全名(filename.png)+1来检查该文件夹的解释…+1来解释。。。