我收到了关于类型' BOOL *'的指针初始化的新警告。 (又名' bool *')从常量布尔表达式中为空。这是引起我以前见过的警告的代码?
if ([[NSFileManager defaultManager]fileExistsAtPath:filePath isDirectory:NO]) {
答案 0 :(得分:7)
在方法fileExistsAtPath:isDirectory:
中isDirectory
是一个按引用返回参数,即它返回一个Bool,指示路径是否是目录。
来自Apple Docs:
isDirectory:返回时,如果path是目录或者最终路径元素是指向目录的符号链接,则包含YES,否则包含NO。如果path不存在,则返回时该值未定义。如果您不需要此信息,请传递NULL。
使用:
BOOL isDirectory;
if ([[NSFileManager defaultManager]fileExistsAtPath:filePath isDirectory:& isDirectory]) {
if (isDirectory) {
// Code for the directory case
}
else {
// Code for the file case
}
...
}
如果您不想知道路径是否指向目录,请使用:
- (BOOL)fileExistsAtPath:(NSString *)path