【发布时间】:2011-09-05 02:10:08
【问题描述】:
我目前能够使用 NSTimer 和 NSFileManager 定期监视特定文件夹中特定文件的存在。但是,只要文件标题包含文本“MobileSafari”而不是特定文件名,我将如何检查文件是否存在?
非常感谢任何帮助!
【问题讨论】:
标签: iphone objective-c nsfilemanager
我目前能够使用 NSTimer 和 NSFileManager 定期监视特定文件夹中特定文件的存在。但是,只要文件标题包含文本“MobileSafari”而不是特定文件名,我将如何检查文件是否存在?
非常感谢任何帮助!
【问题讨论】:
标签: iphone objective-c nsfilemanager
使用 NSMetaDataQuery。谓词可以使用@"kMDItemFSName contains[c] %@" 来查找名称中包含该字符串的文件。 searchScopes 是一个包含一个或多个带有目录名称的字符串的数组。
您应该设置观察者方法,即使用[NSNotificationCenter defaultCenter](在您启动查询的类中)为通知NSMetadataQueryGatheringProgressNotification 和NSMetadataQueryDidFinishGatheringNotification 注册观察者。
前者允许您显示进度或获取新结果并显示它们。后者表示查询收集完毕,可以停止查询,查看【查询结果计数】和【查询结果】。
【讨论】: