我需要使用NSURL
对象在同一主机上访问不同的资源。
以下是我的工作:
#define MY_HOST @"my.server.eu"
NSURL *url = [[NSURL alloc] initWithScheme:@"http" host:MY_HOST path:@"/"];
现在我需要处理
如何修改NSURL
对象的路径?
为什么我们不能简单地做url.path = @"path1"
?
答案 0 :(得分:4)
如何修改
NSURL
对象的路径?为什么我们不能简单地
url.path = @"path1"
?
因为NSURL
是不可变对象,所以之后无法更改其属性。 NSMutableURL
不存在,但是在许多人的愿望清单上。
为了实现您所追求的目标,您将不得不制作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]]];
答案 1 :(得分:1)
您应该像现在一样制作基本网址,然后使用+[NSURL URLWithString:relativeToURL:]
构建与其相关的其他网址。