gpt4 book ai didi

macos - 存储为 NSData 的 URL 书签的编码是什么?

转载 作者:行者123 更新时间:2023-12-03 17:13:57 26 4
gpt4 key购买 nike

如果书签无法解析,从 NSData 书签对象获取路径的最佳方法是什么?

通常,您只需解析书签,获得一个 URL,然后就可以开始了。但如果书签指向当前不存在的 NFS 挂载,则无法解析。所以现在我有一个 NSData 指向某个无法解析的地方,但我不知道它指向哪里。

这是我加载书签、尝试解析它们并在解析失败时尝试解码 NSData 的代码块,但我无法弄清楚编码 - 这可能吗?

NSError* error = [[NSError alloc] init];
NSURL* resolvedURL = [NSURL URLByResolvingBookmarkData:bookmarkData
options:NSURLBookmarkResolutionWithSecurityScope | NSURLBookmarkResolutionWithoutUI
relativeToURL:nil
bookmarkDataIsStale:NULL
error:&error];
if (resolvedURL) {
// do some stuff
...
} else {
NSString* msg = [NSString stringWithFormat:@"Error Resolving Bookmark: %@", error];
NSLog(msg);
// the below certainly doesn't get me a path from the bookmark, any idea what will?
// NSString* path = [[NSString alloc] initWithData:bookmarkData encoding:NSUTF32StringEncoding];
}

最佳答案

我从未弄清楚编码,但我找到了解决方法。

最初,我将沙盒中的 NSURL 编码为 NSData 对象,然后将它们作为 NSArray 存储在 NSDefaults 中。因此,我无法确定 NSData 的路径,除非它能够解析。

解决方法是更改​​设计 - 现在我对沙盒 NSURL 进行编码,将其作为对象存储到 NSDictionary 中,键为 URL 路径,并将 NSDictionary 存储在 NSDefaults 中。

通过这种方法,我可以轻松检索任何给定路径的 NSData,即使它无法解析。

关于macos - 存储为 NSData 的 URL 书签的编码是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12826091/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com