> On Dec 18, 2015, at 1:24 AM, Graham Cox <graham....@bigpond.com> wrote: > > I want to display a path to the user. I have a URL, I need to show the local > file path that represents (it’s always a local file path), where the > /Users/<username>/ is replaced by ~/
The best methods for this are in NSFileManager: /* displayNameAtPath: returns an NSString suitable for presentation to the user. For directories which have localization information, this will return the appropriate localized string. This string is not suitable for passing to anything that must interact with the filesystem. */ - (NSString *)displayNameAtPath:(NSString *)path; /* componentsToDisplayForPath: returns an NSArray of display names for the path provided. Localization will occur as in displayNameAtPath: above. This array cannot and should not be reassembled into an usable filesystem path for any kind of access. */ - (nullable NSArray<NSString *> *)componentsToDisplayForPath:(NSString *)path; There are other transformations to the path for display besides “~”. For example, the user should never see “/Volumes”, or hidden suffixes like “.app”. And some names get completely localized for display — the “Downloads” directory looks like “Dvökhn¶r” in Elbonian, for example. —Jens _______________________________________________ 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com