On Dec 11, 2009, at 4:56 AM, martin halter wrote:

As I change the name of a File in Finder, neither NSURLContentModificationDateKey nor NSURLAttributeModificationDateKey do change.

I have an internal list of Files as NSURLs in my application and watch the directory with FSEvents. I properly receive the notification that something in the watched directory changed and can properly react if some content or some metadata has changed (ie. Label). But how can i detect if the name has changed?

A few years ago I read an interesting and philosophical discussion: does the name of a file belong to it's content or to it's metadata. It was very controversially discussed and as I see now for NSURL, it actually does not belong to any :-) so it's part of the URL itself.

In most Unix systems, the file name belongs to the directory containing the file. This is important in light of the possibility of a single file being hardlinked from multiple directories. Each may use a different name for the same file.

As i work only with fileReferenceURLs i don't know how to determine the change.

You can examine the NSURLNameKey to find the current name (I assume; I haven't checked that it's always up to date; it may be cached). If you want to detect that the name has changed, I guess you'd have to keep the old name along with the URL and compare.

You might also consider using the kqueue API. It has an event type for watching individual files for changes, including deletion or renaming.

Regards,
Ken

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to