2009-06-30 4 views
6

Я разрабатываю приложение в Cocoa. Я хочу постоянно проверять, изменяется ли содержимое файла в определенном месте или нет (например, FileSystemWatcher в .NET). Пожалуйста, дайте мне решениеЭквивалент FileSystemWatcher (.NET) в Cocoa

+3

Просто предложение: «дай мне решение» может быть истолковано как отрываясь слегка абразивным на английском языке, а также означает, что вы, возможно, не искали ответ для себя. Это хорошая форма для Google, прежде чем отправлять вопрос. :-) –

ответ

6

Как сказал Дидерик, FSEvents является API-интерфейсом Apple Carbon для прослушивания событий файловой системы. Кто-то создал оболочку Cocoa/Objective-C для FSEvents, которая называется SCEvents, что немного проще в использовании.

+1

Будучи педантичным, FSEvents не является API-интерфейсом Carbon; он является частью структуры основных служб. – briankc

1

FSEvents отличные, но они используются для наблюдения за папками. Чтобы контролировать один файл, вы хотите проверить kqueues. Попробуйте «man kqueue» в терминале.

+0

SCEvents - лучший вариант для тех, кто ищет решение для какао. –

+0

FSEvents все еще для изменения каталога, хотя, похоже, SCEvents является оберткой для FSEvents. Вопрос задает вопрос о мониторинге одного файла. Kqueues гораздо лучше подходят для этого. Ссылка на SCEvents выше также ссылается на UKKQueue, которая также может быть хорошей оболочкой. –

2

Другим вариантом является выпить прямо из/dev/fsevents firehose. Я работаю над приложением, которое делает именно это, и оно работает очень хорошо. Вы можете получать уведомления о том, что файл изменяется, удаляется, перемещается, изменяется атрибут и т. Д. Конечно, это не опция «Какао», так как это в основном код C, но мы используем это в приложении Cocoa.

1

Посмотрите на документацию класса NSWorkspace.

 Смежные вопросы

  • Нет связанных вопросов^_^