gpt4 book ai didi

iphone - 如何检查目录是否存在于 Objective-C 中

转载 作者:太空狗 更新时间:2023-10-30 03:10:14 25 4
gpt4 key购买 nike

我想这是一个初学者的问题,但我试图检查 iPhone 上我的文档文件夹中是否存在一个目录。我阅读了文档并提出了这段代码,不幸的是,它在 BOOL fileExists 行中因 EXC_BAD_ACCESS 而崩溃:

 -(void)checkIfDirectoryAlreadyExists:(NSString *)name
{
NSFileManager *fileManager = [[NSFileManager alloc] init];

NSString *path = [[self documentsDirectory] stringByAppendingPathComponent:name];

BOOL fileExists = [fileManager fileExistsAtPath:path isDirectory:YES];

if (fileExists)
{
NSLog(@"Folder already exists...");
}

}

我不明白我做错了什么?它对我来说看起来很完美,而且它肯定符合文档,不是吗?任何关于我哪里出错的启示都将不胜感激!谢谢。

更新:

还是不行...

  -(void)checkIfDirectoryAlreadyExists:(NSString *)name
{
NSFileManager *fileManager = [[NSFileManager alloc] init];

NSString *path = [[self documentsDirectory] stringByAppendingPathComponent:name];

BOOL isDir;
BOOL fileExists = [fileManager fileExistsAtPath:path isDirectory:&isDir];

if (fileExists)
{


if (isDir) {

NSLog(@"Folder already exists...");

}

}

}

最佳答案

看看 documentation对于此方法签名:

- (BOOL)fileExistsAtPath:(NSString *)path isDirectory:(BOOL *)isDirectory

您需要一个指向 BOOL var 的指针作为参数,而不是 BOOL 本身。 NSFileManager 将记录文件是否是该变量中的目录。例如:

BOOL isDir;
BOOL exists = [fm fileExistsAtPath:path isDirectory:&isDir];
if (exists) {
/* file exists */
if (isDir) {
/* file is a directory */
}
}

关于iphone - 如何检查目录是否存在于 Objective-C 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7541943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com