ios - NSURL - 设置修改路径

标签 ios nsurl

我需要使用 NSURL 对象来访问同一主机上的不同资源。

这是我的做法:

#define MY_HOST @"my.server.eu"
NSURL *url = [[NSURL alloc] initWithScheme:@"http" host:MY_HOST path:@"/"];

现在我需要处理

如何修改我的 NSURL 对象的路径?
为什么我们不能简单地做 url.path = @"path1"

最佳答案

How can I modify the path of my NSURL object ?

Why can't we simply do url.path = @"path1" ?

因为 NSURL 是一个不可变的对象,之后你不能改变它的属性。 NSMutableURL 不存在,但在许多人的愿望 list 上。

为了实现您的目标,恐怕您将不得不制作 3 个单独的 NSURL 对象。为此,您可以方便数组中的路径:

NSString *host = @"http://my.server.eu/";
NSArray *paths = @[@"path1", @"path2", @"path3"];

NSURL *path1 = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@", host, path[0]]];
NSURL *path2 = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@", host, path[1]]];
NSURL *path3 = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@", host, path[2]]];

关于ios - NSURL - 设置修改路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14478624/

相关文章:

iphone - 在 XCode 4.3.2 中符号化崩溃日志

ios - 选择器 'URLAssetWithURL' 没有已知的类方法

swift - 从 url 异步下载和缓存图像

ios - 将 UIImage View 转换为 NSURL 以将其上传到 Firebase

iphone - URLWithString 对于资源路径返回 nil - iphone

ios - 当我在一个 View Controller 中单击一个按钮时,我想转到另一个 tabbarviewcontroller

c++ - 在 iOS 上使用来自 brew 的 gsl/gsl 有问题吗?

ios - 如何将 UIImage 转换为 base64 和 POST 到 URL

ios - 有没有办法在 iOS 应用程序上随机/重新排列按钮?

swift - NSURL 在展开一个 Optional 值时发现 nil