> On Nov 28, 2016, at 7:06 PM, Rick Mann <[email protected]> wrote:
> 
> Back in the days before URLs, I could have an FSRef to a directory, and no 
> matter where I moved that directory what I named it, the FSRef was still 
> valid, and I could still read/write to it.
> 
> Now that everything is URL based, if a thread changes the name of a 
> directory, or moves it, another thread's URL pointing to that directory (or 
> inside it) becomes invalid, right?
> 
> Is there any way for this to not be the case? That is, for a URL to a 
> directory or subdirectory or item within to stay valid even if the path to it 
> changes?

I’ve got good news and bad news.

The good news: Yes, there is a way. Just call .fileReferenceURL on an NSURL in 
Objective-C, and you’ll get something that works just like an FSRef.

The bad news: This is currently broken in Swift, as of Swift 3, where all file 
reference URLs will get silently and unceremoniously converted back to 
path-based ones at the bridge. This can be worked around via an Objective-C 
wrapper, though.

Charles


_______________________________________________

Cocoa-dev mailing list ([email protected])

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 [email protected]

Reply via email to