2010-11-06 21 views
1

我正在將一些代碼移植到iPad上,並將目標鎖定爲3.2。我在NSURL的-pathExtension方法中使用了一些4.0獨佔代碼。iPad:[[NSURL absoluteURL] pathExtension]在3.2中不可用

我根據超鏈接指向的不同來處理所有網絡請求。有沒有辦法做到這一點之前,4.0出來,或者我只是堅持讀取與NSRange的URL字符串的最後4個字符?

我試圖區分.png和.jpg文件,如果用戶想要瀏覽到我或以不同方式處理它。

這是我現在做什麼,但尋找一個更好的辦法:

NSString *path = [[[request URL]absoluteURL]path]; 
NSInteger pathLength = [path length]; 
NSInteger lengthToPeriod = pathLength - 3; 
NSRange extensionRange = NSMakeRange(lengthToPeriod,3); 
NSString *extension = [path substringWithRange:extensionRange]; 
+1

請記住,比較文件擴展名並不能保證您將返回哪種文件類型。你想等到NSURLResponse進入,然後根據它的MIME類型來決定。 – 2010-11-06 12:33:57

+0

tru-dat,謝謝先生 – Justin 2010-11-06 14:32:21

回答

4

根據該文件, - [的NSString pathExtension]可在iOS 2.0及更高版本。當你嘗試在3.2中編譯這樣的一行時,你是否收到編譯器錯誤?

[[[[request URL] absoluteURL] path] pathExtension]; 
+0

不,因爲我太忙了,試圖在NSURL文檔中找到一些東西!感謝您的幫助,朋友 – Justin 2010-11-06 14:31:50