gpt4 book ai didi

objective-c - 通过使用 NSMetadataQuery 构造 NSPredicate 来查找具有聚光灯的不可见文件夹

转载 作者:行者123 更新时间:2023-12-03 17:08:22 25 4
gpt4 key购买 nike

我正在构建一个 NSmetaDataQuery 来查找不可见文件夹(例如“.myInvisibleFolder”)。

不幸的是,聚光灯似乎无法定位以“.”开头的文件夹,即使特别包含在谓词中也是如此。

什么有效,什么无效

搜索任何不可见的文件名都有效。

搜索内容有效(kMDItemTextContent)。

没有以“.”开头的文件曾经被发现过。始终返回 0 个结果。

作为测试,在 Finder 中搜索不可见内容是有效的。

我做错了什么?还有其他方法可以找到不可见的文件夹吗?

代码:

- (void)searchForMyInvisableFolders{
self.query = [[[NSMetadataQuery alloc] init] autorelease];

// To watch results send by the query, add an observer to the NSNotificationCenter
NSNotificationCenter *nf = [NSNotificationCenter defaultCenter];
[nf addObserver:self selector:@selector(queryNote:) name:nil object:self.query];

// Sort results by file name
[self.query setSortDescriptors:[NSArray arrayWithObject:[[[NSSortDescriptor alloc] initWithKey:(id)kMDItemFSName ascending:YES] autorelease]]];

[self.query setDelegate:self];

//Create a predicate to search for file name
NSPredicate* predicate = [NSPredicate predicateWithFormat:@" (kMDItemFSName == '.myInvisibleFolder')"];

//Create a predicate to search for invisible files
NSPredicate* invisablePredicate = [NSPredicate predicateWithFormat:@"kMDItemFSInvisible == YES"];

//Compound predicate
NSPredicate* compoundPredicate = [NSCompoundPredicate andPredicateWithSubpredicates:[NSArray arrayWithObjects:predicate, invisiblePredicate, nil]];

// Set it to the query.
[self.query setPredicate:compoundPredicate];

// Start it.
[self.query startQuery];

}

最佳答案

如果我将第一个谓词更改为:

,您的代码非常适合我
[NSPredicate predicateWithFormat:@" (kMDItemFSName == '.DS_Store')"];

您的隐形文件夹是否真的名为“.myInvisableFolder”(请注意您的无形文件夹的拼写错误)?

关于objective-c - 通过使用 NSMetadataQuery 构造 NSPredicate 来查找具有聚光灯的不可见文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1441466/

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