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
1. 根据文件夹的路径,调用open函数打开文件夹,得到文件夹的ID。
2. 通过kqueue()函数创建一个kqueue队列来处理系统事件(文件创建或者删除),得到queueId
3. 创建一个kevent结构体,设置相关属性,连同kqueue的ID一起传给kevent()函数,完成系统对kevent的关联。
4. 调用CFFileDescriptorCreateRunloopSouce创建一个接收系统事件的runloop source,同时设置文件描述符的回调函数(回调函数采用C语言标准的回调函数格式), 并加到默认的runloopMode中。
5. 启用回调函数。
6. 关闭kqueue,关闭文件夹
然后就等待系统事件的触发吧。触发后会执行回调函数,在这里面去通知需要通知的对象。注意每次回调函数执行完后会被设为disabled,需要重新enable
相关文章推荐
- iOS监控/监测/监听文件/文件夹的变化 检测文件变化
- iOS 实时监听文件夹的变化
- iOS文档浏览与文件夹的状态变化的监听
- react native 监听 ios 的home键,监听前后台的变化
- IOS中电池变化的监听
- 使用Node.JS监听文件夹变化
- iOS 监听App音量的变化
- iOS - UITextView、UITextField监听文本框中内容的变化
- ios观察者设计模式。(在一个类监听另一个类属性的变化时响应)
- Flume实战监听文件夹内文件变化
- ios 监听文本框文字的变化
- iOS监听 网络信号变化
- 使用Common-io中FileAlterationListenerAdaptor监听文件夹的变化
- iOS监听网络变化
- 小胖说事48-----iOS 文本框变化 监听的3种方式
- iOS开发之监听键盘高度的变化
- iOS 监听App音量的变化(转)
- iOS监听相册变化
- iOS 监听耳机变化
- iOS动态监听网络变化