gpt4 book ai didi

cocoa - 为什么 NSDirectoryEnumerator 在这里获取隐藏文件?

转载 作者:行者123 更新时间:2023-12-03 16:16:11 24 4
gpt4 key购买 nike

我需要避免此枚举中的隐藏文件,但仍在添加 .DS_Store 文件。

我放入 NSLog 进行检查,并在那里得到输出。

可能有一些明显的东西,但我看不到。

NSDirectoryEnumerator *dirEnumerator;
NSFileManager *fileManager = [[NSFileManager alloc] init];

dirEnumerator = [fileManager enumeratorAtURL:item
includingPropertiesForKeys:[NSArray array]
options:NSDirectoryEnumerationSkipsPackageDescendants || NSDirectoryEnumerationSkipsHiddenFiles
errorHandler:nil];

for (NSURL *urlItem in dirEnumerator) {

// is item hidden ?
NSNumber *isHidden = nil;
if ([urlItem getResourceValue:&isHidden forKey:NSURLIsHiddenKey error:nil]) {
if ([isHidden isEqual:[NSNumber numberWithInt:1]]) {

NSLog(@"isHidden is 1");
continue;
}
}

最佳答案

实际上,真正的问题是您使用了错误的运算符来指定掩码:

NSDirectoryEnumerationSkipsPackageDescendants ||  NSDirectoryEnumerationSkipsHiddenFiles

执行 bool 运算OR,得到1,这不是一个有用的选项掩码。您需要使用单管道:

NSDirectoryEnumerationSkipsPackageDescendants |  NSDirectoryEnumerationSkipsHiddenFiles

按位OR

旧答案:

您需要实际请求您要查看的属性:

dirEnumerator = [fileManager enumeratorAtURL:item 
includingPropertiesForKeys:[NSArray arrayWithObject:NSURLIsHiddenKey]
options:NSDirectoryEnumerationSkipsPackageDescendants || NSDirectoryEnumerationSkipsHiddenFiles
errorHandler:nil];

来自 -[NSURL getResourceValue:forKey:error:]文档:

Discussion
value is set to nil if the requested resource value is not defined for the URL. In this case, the method still returns YES.

关于cocoa - 为什么 NSDirectoryEnumerator 在这里获取隐藏文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5835179/

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