相关疑难解决方法(0)

使用Grand Central Dispatch进行文件监控

我正在使用David Hamrick的代码示例来监视使用GCD的文件.

int fildes = open("/path/to/config.plist", O_RDONLY);

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_source_t source = dispatch_source_create(DISPATCH_SOURCE_TYPE_VNODE,fildes, 
                                                  DISPATCH_VNODE_DELETE | DISPATCH_VNODE_WRITE | DISPATCH_VNODE_EXTEND | DISPATCH_VNODE_ATTRIB | DISPATCH_VNODE_LINK | DISPATCH_VNODE_RENAME | DISPATCH_VNODE_REVOKE,
                                                  queue);
dispatch_source_set_event_handler(source, ^
{
    //Reload the config file
});
dispatch_source_set_cancel_handler(source, ^
{
    //Handle the cancel
});
dispatch_resume(source);
Run Code Online (Sandbox Code Playgroud)

我想用来监视一个plist的变化.我在第一次更改后收到通知,但没有收到以下更改.为什么?

cocoa objective-c grand-central-dispatch

8
推荐指数
1
解决办法
4093
查看次数