Objective c 如何停止监视文件路径

Objective c 如何停止监视文件路径,objective-c,macos,Objective C,Macos,我目前正在使用以下功能监视objective-c阵列中的多个文件路径: -(void)monitorPath:(NSString*)path{ dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); int fildes = open([path UTF8String], O_EVTONLY); __block typeof(self) blockSe

我目前正在使用以下功能监视objective-c阵列中的多个文件路径:

-(void)monitorPath:(NSString*)path{
    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    int fildes = open([path UTF8String], O_EVTONLY);

    __block typeof(self) blockSelf = self;
    __block dispatch_source_t source = dispatch_source_create(DISPATCH_SOURCE_TYPE_VNODE, fildes,
                                                              DISPATCH_VNODE_DELETE | DISPATCH_VNODE_WRITE | DISPATCH_VNODE_RENAME, queue);
    dispatch_source_set_event_handler(source, ^{
        unsigned long flags = dispatch_source_get_data(source);
            NSLog(@"Path altered");
    });
    dispatch_source_set_cancel_handler(source, ^(void) {
        close(fildes);
    });
    dispatch_resume(source);
}

是否有一种方法可以停止所有被监视的文件路径?

调用“
调度\u源\u集\u取消\u处理程序”
”?这将终止所有进程?对于其他正在查看此问题的人,以及。太糟糕了,这里没有更多的上下文可供使用。