gpt4 book ai didi

objective-c - NSURL fileURLWithPath 其中 NSString 有一个空格

转载 作者:行者123 更新时间:2023-12-03 18:03:39 24 4
gpt4 key购买 nike

我已经查看了相当多的相关问题,但找不到类似的问题或解决方案,因此如果某处存在重复问题,我深表歉意。

无论如何,我正在尝试生成一个文件的 NSURL 以与 NSXMLDocument 一起使用。我有以下组件:

const NSString * PROJECT_DIR = @"~/SP\\ BB/";
const NSString * STRINGS_FILE = @"Localizable.strings";

并像这样构建 URL:

NSURL * stringsURL = [NSURL fileURLWithPath:[[NSString stringWithFormat:@"%@%@",PROJECT_DIR,STRINGS_FILE] stringByExpandingTildeInPath]];

但是,NSURL 中的结果路径是:
文件://localhost/Users/timothyborrowdale/SP2B/Localized.strings

我尝试将 PROJECT_DIR 更改为

@"~/SP BB/"
@"~/SP\\\\ BB/" (changes to SP엀2B)
@"~/SP%20BB/"
@"~/SP\%20BB/"

有同样的问题。我还尝试完全输入文件 url 并使用 [NSURL URLWithString:]

我还尝试将 stringByAddingPercentEscapesUsingEncoding 与 NSUTF8Encoding 和 NSASCCIEncoding 一起使用,但它们也有相同的问题。

NSString 在传递给 NSURL 或 stringByAddingPercentEscapesUsingEncoding 之前显示正常,但一旦从其中输出,就会出现问题。

最佳答案

试试这个:

NSString *fnam = [@"Localizable" stringByAppendingPathExtension:@"strings"];
NSArray *parts = [NSArray arrayWithPathComponents:@"~", @"SP BB", fnam, (void *)nil];
NSString *path = [[NSString pathWithComponents:parts] stringByStandardizingPath];
NSURL *furl = [NSURL fileURLWithPath:path];

Foundation 有许多独立于平台、与路径相关的方法。优先使用这些而不是硬编码路径扩展分隔符(通常为“.”)和路径组件分隔符(通常为“/”或“\”)。

关于objective-c - NSURL fileURLWithPath 其中 NSString 有一个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4043901/

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