您的位置:首页 > 移动开发 > IOS开发

iOS 监听文件夹变化

2015-05-15 15:39 176 查看
参考https://developer.apple.com/library/ios/samplecode/DocInteraction/Listings/Classes_DirectoryWatcher_m.html

1. 根据文件夹的路径,调用open函数打开文件夹,得到文件夹的ID。
2. 通过kqueue()函数创建一个kqueue队列来处理系统事件(文件创建或者删除),得到queueId
3. 创建一个kevent结构体,设置相关属性,连同kqueue的ID一起传给kevent()函数,完成系统对kevent的关联。
4. 调用CFFileDescriptorCreateRunloopSouce创建一个接收系统事件的runloop source,同时设置文件描述符的回调函数(回调函数采用C语言标准的回调函数格式), 并加到默认的runloopMode中。
5. 启用回调函数。
6. 关闭kqueue,关闭文件夹

然后就等待系统事件的触发吧。触发后会执行回调函数,在这里面去通知需要通知的对象。注意每次回调函数执行完后会被设为disabled,需要重新enable
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: