3

次のコードがあります。

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

これはほとんどのページで問題なく動作しますが、非常に長いページは切り捨てられます。これを回避する方法はありますか?

4

2 に答える 2

4

これがあなたが探しているものだと思います(NSString上記のリンクのクラス参照から):

stringWithContentsOfURL:encoding:error:

指定されたエンコーディングを使用して解釈された指定された URL からデータを読み取って作成された文字列を返します。

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

パラメータ
url読み取る URL。

enc url のデータのエンコーディング。

errorエラーが発生した場合、戻り時にNSError問題を説明するオブジェクトが含まれます。エラーの可能性に関心がない場合は、 を渡すことができますNULL

戻り値エンコーディング encを使用してURL
からデータを読み取って作成された文字列。URL を開くことができない場合、またはエンコード エラーがある場合は、 を返します。nil

于 2009-07-15T21:08:36.090 に答える
3

この方法をチェックしてください:

http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/occ/clm/NSString/stringWithContentsOfURL:encoding:error :

同期リクエストのみを使用している場合は、これで問題ありません。

于 2009-07-15T20:27:40.493 に答える