私は独自の pdf ダウンロード クラスを作成しましたが、これは必要なビットです。クラスの .h 内。宣言する:
NSMutableData *_data;
NSString *pdfPath;
接続のデリゲートもサブクラス化します
<NSURLConnectionDataDelegate, NSURLConnectionDelegate>
次に、実装ファイルの- viewDidLoad
:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
pdfPath = [documentsDirectory stringByAppendingPathComponent:@"pdfName.pdf"];
connection:didReceiveData:
メソッド:
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
if(!_data) _data = [[NSMutableData data]init];
[_data appendData:data];
progressView.progress = ((float) [_data length] / (float) downloadSize);
}
connectionDidFinishLoading:
メソッド:
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
unsigned char byteBuffer[[_data length]];
[_data getBytes:byteBuffer];
[_data writeToFile:pdfPath atomically:YES];
}
したがって、データを受信すると_dataを構築し、終了するとパスに書き込みます。接続デリゲートが に設定されていることを確認してくださいself
。
その後、以前と同じように PDF へのパスを開くことができます。