任何人都知道什么是错的?
class AppDelegate: NSObject,NSApplicationDelegate {var Metadataquery: NSMetadataquery!var MetadataqueryDIDUpdateObserver: AnyObject?var MetadataqueryDIDFinishGatheringObserver: AnyObject?@IBOutlet weak var window: NSWindow!func applicationDIDFinishLaunching(aNotification: NSNotification) { NSNotificationCenter.defaultCenter().addobserver(self,selector: "initalGatherComplete:",name: NSMetadataqueryDIDFinishGatheringNotification,object: nil) Metadataquery = NSMetadataquery() Metadataquery.searchScopes = [NSMetadataqueryIndexedLocalComputerScope] Metadataquery.predicate = nspredicate(format: "%K liKE '*'",NSMetadataItemFSnameKey) Metadataquery.startquery()}func initalGatherComplete(notification: NSNotification) { Metadataquery.stopquery() let resultCounter = Metadataquery.resultCount NSLog("%lu",resultCounter) NSNotificationCenter.defaultCenter().removeObserver(self,object: nil)}
最后但并非最不重要:当前谓词应该列出所有文件,但最后谓词应该只列出应用程序.什么是创建这样一个谓词的最佳实践?我打算过滤扩展名.app但也许有更好的方法?
谢谢!
检查你的 predicate syntax. liKE运算符不适用于NSMetadataquery谓词搜索(事实上,nspredicate在Spotlight元数据搜索的上下文中使用了一组非常相似但实际上不同的运算符和行为.)NSMetadataquery的glob搜索语法只使用等号:
nspredicate(format: "%K ==[cd] '*'",NSMetadataItemFSnameKey)总结
以上是内存溢出为你收集整理的swift – 使用NSMetadataQuery搜索文件什么都不做全部内容,希望文章能够帮你解决swift – 使用NSMetadataQuery搜索文件什么都不做所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)