我的应用程序使用NSDocument的子类并保存一些文件的URL。
通过使用书签,移动或重命名文件,请不要断开文件链接。
问题是,如果同时包含文档和文件的目录从一台Mac移动到另一台Mac,则书签无法解析URL。
(错误域= NSCocoaErrorDomain代码= 4“文件不存在。”)
将NSURL编码为NSData
[url bookmarkDataWithOptions:NSURLBookmarkCreationSuitableForBookmarkFile includingResourceValuesForKeys:nil relativeToURL:inDocumentURL error:&error];
从NSData解码NSURL
NSURL *url = [[NSURL alloc] initByResolvingBookmarkData:bookmark options:0 relativeToURL:inDocumentURL bookmarkDataIsStale:NULL error:&error];
如果解析失败或我的代码有问题,我也应该将相对路径存储为字符串吗?