en

hi, it seems you are using microsoft internet explorer. it doesn't match web standard and causes problems browsing this site. please please please use mozilla firefox or google chrome instead. thank you!

zh

哦哦!您正在使用Internet Explorer 瀏覽器,它與我們的網頁標準並不相容,可能會導致畫面顯示不正常。
請改用 Mozilla Firefox 或者 Google Chrome 才能正常瀏覽本網站,謝謝!

6.30.2011

NSURL 的網址解析 Parse


NSURL 是 iOS SDK 內定的字串,大多使用在網頁位址的呈述部份,而 NSURL 不同於 NSString 的部份在於它是可以被解析的,而解析的方法就定義於其類別中,只要直接呼叫該方法,就可以獲得解析的結果,關於使用解析 NSURL 的方法,下面有完整的示範。

如上圖中的介面,將網址輸入於 TextField 中,並擷取該字串做分析使用,最後將分析過的結果存入陣列中在一次顯示出來,其程式碼如下。

//設定的網址字串
urlTextField.text = @"https://website.com/image/logo.png;index?w=3&h=5#100";

//從TextField中擷取字串
NSURL *url = [NSURL URLWithString:urlTextField.text];

NSMutableArray *parseArray = [[NSMutableArray alloc]init];

//分析此字串並丟入陣列中
[parseArray addObject:[NSString stringWithFormat:@"Scheme: %@", [url scheme]]];
[parseArray addObject:[NSString stringWithFormat:@"Host: %@", [url host]]];
[parseArray addObject:[NSString stringWithFormat:@"Path: %@", [url path]]];
[parseArray addObject:[NSString stringWithFormat:@"path Extension: %@", [url pathExtension]]];
[parseArray addObject:[NSString stringWithFormat:@"nParameter String: %@", [url parameterString]]];
[parseArray addObject:[NSString stringWithFormat:@"Query: %@", [url query]]];
[parseArray addObject:[NSString stringWithFormat:@"Fragment: %@", [url fragment]]];

//顯示陣列中所有的分析結果
[parseTextView setText:[NSString stringWithFormat:@"%@",parseArray]];

[parseArray release];

上述程式碼只有列出幾個比較常使用的方法,然而在 NSURL 類別中還存在著許多 Parse,像是 port 和 pathComponents 等,這裡就不一一列出。






沒有留言:

張貼留言