2012-03-05 13 views
3

UIViewControllerにはUIWebViewがあり、これはUITableViewで以前にクリックされた行に応じてpdfファイルを表示します。今、オフラインで使用するために、このpdfファイルをローカルに保存するためのボタンを追加します。 次に、保存されたpdfの名前を表示し、それをクリックすると別のUIViewControllerが表示され、オフラインのUIWebViewに保存されたpdfが表示されるように、もう1つUITableViewがあります。 何が良い方法でしょうか? おかげUIWebViewでローカルに表示されるPDFを保存します

あなたがこのよう試みることができる

答えて

5


1)UIWebView
(注記に示すファイル保存ボタンを押すだけで含むViewにボタンUIWebView
2)を追加します:あなたは、データを保存しなければならないのiOS 5にしています簡単にキャッシュディレクトリに再作成またはダウンロードすることができます)

- (IBAction)buttonPress:(id)sender 
{ 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); 
    NSString *cachePath = [paths objectAtIndex:0]; 
    BOOL isDir = NO; 
    NSError *error; 
    //You must check if this directory exist every time 
    if (! [[NSFileManager defaultManager] fileExistsAtPath:cachePath isDirectory:&isDir] && isDir == NO) 
    { 
     [[NSFileManager defaultManager] createDirectoryAtPath:cachePath withIntermediateDirectories:NO attributes:nil error:&error]; 
    } 
    NSString *filePath = [cachePath stringByAppendingPathComponent:@"someName.pdf"] 
    //webView.request.URL contains current URL of UIWebView, don't forget to set outlet for it 
    NSData *pdfFile = [NSData dataWithContentsOfURL:webView.request.URL]; 
    [pdfFile writeToFile:filePath atomically:YES]; 
} 

3)アプリケーションで使用すると、ファイルが保存されているかどうか確認する必要が開始する(iPhone上に十分なスペースがない場合のiOSは、キャッシュディレクトリを削除することができます)

+0

ありがとうございました。保存されたデータはどこにありますか? – halloway4b

+1

"Cache"フォルダ(コードのcachePath変数を参照)にあります。保存したpdfの最初のチェックキャッシュフォルダを表示すると、このフォルダにどのファイルが存在しているかを確認できます。 –

+0

ええ。私は間違った方法を言った。 cachePathという名前のディレクトリを作成しました。このフォルダに保存されているコンテンツを確認するにはどうすればよいですか?申し訳ありませんが、初心者であり、アプリケーションにデータを保存する方法を集中的に学習する瞬間です。 – halloway4b

関連する問題