我如何知道使用 Objective-C 的 Xcode 项目中是否存在目录?

问题描述 投票:0回答:3

我使用此代码在我的项目中创建了一个目录

NSError * error = nil;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);    
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"/createDirectory1"];

if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath]) 
{
    [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error]; //Create folder
    NSLog(@"Create a new Dir");
}
else 
{
    NSLog(@"Dir already exist");
}

现在我想检查该目录是否存在?我怎样才能通过 Objective-C 代码得到它?

ios objective-c xcode
3个回答
1
投票
    NSString *docPath = [NSSearchPathForDirectoriesInDomains (NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0];
    NSString *filePath=[NSString stringWithFormat:@"%@/createDirectory1", docPath];
    BOOL fileExists=[[NSFileManager defaultManager] fileExistsAtPath:filePath];
    if (!fileExists)
    {

    }
    else
    {
       // Your Code
    }

0
投票

首先,你应该获取项目路径。你可以像下面的代码那样进行

NSString *getProjectPath(){
    NSString *projectPath = [NSString stringWithFormat:@"%s,__FILE__]; // your project path may have some same  prefix  to the macro __FILE__. 
    // do something 
    return projectPath;
}

然后你使用 [[NSFileManager defaultManager] fileExistsAtPath:dataPath] 检查是否存在


0
投票
BOOL fileOrDirectoryExists = [[NSFileManager defaultManager] fileExistsAtPath:dataPath];

fileExistsAtPath:dataPath
方法返回一个布尔值,指示指定路径中是否存在文件或目录。正如雷姆斯所说,你已经在这样做了。

© www.soinside.com 2019 - 2024. All rights reserved.