我需要使用NSURL
对象才能在同一主机上访问不同的资源。NSURL - 设置修改路径
这里是我做的:
#define MY_HOST @"my.server.eu"
NSURL *url = [[NSURL alloc] initWithScheme:@"http" host:MY_HOST path:@"/"];
现在我需要处理
如何Ç我修改我的NSURL
对象的路径?
为什么我们不能简单地做url.path = @"path1"
?
我需要使用NSURL
对象才能在同一主机上访问不同的资源。NSURL - 设置修改路径
这里是我做的:
#define MY_HOST @"my.server.eu"
NSURL *url = [[NSURL alloc] initWithScheme:@"http" host:MY_HOST path:@"/"];
现在我需要处理
如何Ç我修改我的NSURL
对象的路径?
为什么我们不能简单地做url.path = @"path1"
?
如何修改我的
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]]];
哇!好吧,我想我甚至不会最终使用这个对象:)(实际上我只是想利用它来利用他的url构建函数)谢谢你的不可变更的解释。 –
不要误解我的意思,'NSURL'的使用可能非常方便,但并不像大多数人希望的那样灵活。 – WDUK
我希望它很方便,我肯定会在以后使用它:) –
你应该基本URL为你做的,然后建立相对它使用+[NSURL URLWithString:relativeToURL:]
别人。
这将带来可维护性,但我仍然必须每次需要获取[[[NSURL alloc] initWithString:my_path relativeToURL:url] .absoluteString'新的url字符串,不是吗? –
如果你需要一个字符串,是的,你必须要求它一个字符串。 –
如何在循环内生成字符串并将其转换为NSURL? –
此网址是我在多个不同位置使用的课程的公开成员。你说我每次需要时都要重新创建NSURL? –
是的,像这样NSString * str = [NSString stringwithFormat:@“%@%d”,url,counter],然后将其转换为url作为NSURL * finalURL = [NSURL URLWithString:str]; –