2009-07-15 69 views
3

我有以下代碼。截斷NSString的NSData - iPhone

NSData *pageData = [NSURLConnection sendSynchronousRequest:request returningResponse:NULL error:NULL]; 
NSString *webpage = [[NSString alloc] initWithData:pageData encoding:NSUTF8StringEncoding]; 

這對大多數頁面正常工作,但截斷真正長的,是否有解決這個問題的方法呢?

+0

由於返回數據的長度(是否輸出了[pageData length]和[webpage length]?),或者它可能與字符編碼有關? – drvdijk 2009-07-15 20:29:32

+0

不確定,PageData爲117638,網頁長度爲117637 – 2009-07-15 20:45:21

回答

4

我相信這是你在找什麼(從上面鏈接的NSString類的引用):

stringWithContentsOfURL:encoding:error: 

返回從給定的URL 讀取數據創建一個字符串中使用給定的編碼解釋。

(id)stringWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc error:(NSError **)error

參數
網址閱讀的URL。

enc url處的數據編碼。

錯誤如果發生錯誤,在返回包含一個NSError對象 描述的問題。如果您對可能的錯誤不感興趣,您可以通過NULL傳遞 。

返回值
使用 編碼,ENCURL通過讀取數據創建的字符串。如果URL無法打開或出現編碼 錯誤,則返回nil