Смотреть каталог для изменений файлов
Я хочу отслеживать каталог (из тысяч файлов, с примерно 5 уровнями вложенных каталогов) для того, когда файлы изменяются. Я знаю, что могу использовать API FSEvents для отслеживания каталога, когда файлы изменяются внутри этого каталога, но я не могу понять, как определить, какой файл(ы) изменился. Эта ссылка предполагает, что я строю двоичное дерево и пересекаю его каждый раз, когда запускается событие, является ли это лучшим способом определить, какие файлы были изменены? Если нет, то что есть ли некоторыеЛучшие альтернативы?
Это лучше для рекурсивного сканирования каталогов и прикрепить использовались для каждого файла? Я не уверен, насколько хорошо это будет работать с тысячами файлов?
2 ответа:
Я использовал UKKQueue раньше со смешанными результатами.
Недавно я узнал о лучшем решении, но я не пробовал этого. Если вам нужно только нацелиться на Льва, Я думаю, что новый наилучший способ сделать это-использовать
NSFileCoordinator
. Вы реализуете методыNSFilePresenter
, чтобы указать, какой каталог вас интересует (свойствоpresentedItemURL
), и система уведомит вас, когда подпункт перемещается / изменяется/удаляется (с помощью таких методов, какpresentedSubitemDidChangeAtURL:
)Я хотел бы услышать, как это сработает, если вы пойдете этим путем.