您可以使用NSMetadataQuery来检测用户主目录中的任何文件更改。然而,它似乎没有索引,因此检测到用户库路径中的任何文件更改。
幸运的是,我确切地知道我的文件在哪里,我想知道文件是否发生了变化并对其做出了反应。我需要纠正我自己的侦听器类吗?这将通过检查修改日期是否更改或是否有更简单的方法来模仿NSMetadataQuery的行为?
var resource: AnyObject?
fileURL?.getResourceValue(&resource, forKey: NSURLContentModificationDateKey, error: nil)
if let fileDate = resource as? NSDate {
println(fileDate)
}
如果只需要查看单个文件,可以使用libdispatch或kqueue。
对于观察文件夹,有FSEvents API。