为了账号安全,请及时绑定邮箱和手机立即绑定

结果在if判断的时候,path变量直接报BAD_ACCESS了,求指点

结果在if判断的时候,path变量直接报BAD_ACCESS了,求指点

iOS
暮色呼如 2023-04-26 15:11:35
昨天调试一个程序,需要在Cache目录下新建子目录,代码如下        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);        NSString *libDirectory = [paths objectAtIndex:0];        NSString *path = [libDirectory stringByAppendingPathComponent:Kache_Objects_Disk_Path];        if (! [[NSFileManager defaultManager] fileExistsAtPath:path isDirectory:YES]) {            NSError *error;             [[NSFileManager defaultManager] createDirectoryAtPath:path                                       withIntermediateDirectories:YES                                                        attributes:nil                                                             error:&error];            NSLog(@"error:%@", error);         }     }结果在if判断的时候,path变量直接报BAD_ACCESS了,打印对象只有一段地址,没有内容了。但是字这行执行之前,path还是好的。求解
查看完整描述

1 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

因为第2个参数是BOOL *,是一个指针,而不是一个值。

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

正确的用法是

BOOL isDirectory;
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:path isDirectory:&isDirectory];if(fileExists && isDirectory) {
...
}
查看完整回答
反对 回复 2023-04-28
  • 1 回答
  • 0 关注
  • 265 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信