BOOL警告类型的指针的初始化
问题描述:
我收到了一个新的类型为'BOOL *'(aka'bool *')的指针初始化为一个常量布尔表达式为null的警告。这是导致我从未见过的警告的代码?BOOL警告类型的指针的初始化
if ([[NSFileManager defaultManager]fileExistsAtPath:filePath isDirectory:NO]) {
答
在fileExistsAtPath:isDirectory:
的isDirectory
是通过参考参数的返回的方法,即它返回所指示如果路径是目录或不是一个布尔。
从Apple文档:
isDirectory:返回时,包含YES如果路径是一个目录,或者如果最终的路径元素是指向目录的符号链接,否则不包含。如果路径不存在,返回时该值不确定。如果您不需要此信息,则传递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