gpt4 book ai didi

iphone - 我想使用 NSString 文件路径还是 NSURL?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:20:56 28 4
gpt4 key购买 nike

许多类都有将 NSString 作为文件路径或 NSURL 使用的版本。一个例子:

- (BOOL)copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error
- (BOOL)copyItemAtURL:(NSURL *)srcURL toURL:(NSURL *)dstURL error:(NSError **)error

是否存在/显式/优先使用其中一个的偏好?我正在寻找有关该主题的文档中的注释。

最佳答案

这完全取决于您。然而,有很多东西只使用 URL。

您可以轻松地从 NSURL 转到路径。但走向另一个方向将需要一些规范化。

例如使用带有方案的路径会给你一个不正确的 url。

NSString *pathString = @"file://localhost/etc..../Document.txt";
NSURL *fileURL = [NSURL fileURLWithPath:pathString];// This will not work.

但是,如果正确初始化,您可以期望来自 URL 的路径是正确的路径。

NSURL *fileURL = [NSURL URLWithString:pathString];
NSURL *sanePath = fileURL.path;

因此您可以通过 3 个步骤获得正确的 url

NSURL *fileURL = [NSURL URLWithString:pathString];
NSURL *sanePath = fileURL.path;

// You can at this point use the Path and expect it will be correct.

fileURL = [NSURL fileURLWithPath:sanePath];

// You can at this point use fileURL and know it will be a correct fileURL with file://.

或者您可以检查方案以查看其是否正确。但这是我在使用 AVAsset 时遇到的问题,因为它不会单独从路径加载 NSURL。必须是fileURL

祝你好运。 :)

关于iphone - 我想使用 NSString 文件路径还是 NSURL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11551675/

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