我需要使用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]; –