2012-03-04 13 views
1

私はObjective-CとiOS開発には初めてです。 UIWebViewで表示するローカルpdfファイルを取得できません。ファイル名を保持する配列を設定してから、UIWebViewに表示します。どんな助けもありがとう! DetailViewController.mから(pdfファイル名のセット配列)UIWebViewにローカルPDFファイルを表示するにはどうすればよいですか?

[mCommands addObject:[[NSDictionary alloc] 
        initWithObjectsAndKeys:@"Break",@"name",@"cmd_break.pdf",@"url",nil]]; 
[mCommands addObject:[[NSDictionary alloc] 
        initWithObjectsAndKeys:@"Close",@"name",@"cmd_close.pdf",@"url",nil]]; 

:MasterViewController.mから

(のUIWebViewで表示pdfファイル)

NSString *filename = [self.detailItem objectForKey:@"name"]; 
NSString *path = [[NSBundle mainBundle] pathForResource:filename ofType:@"pdf"]; 
NSURL *detailURL = [NSURL fileURLWithPath:path]; 
NSURLRequest *request = [NSURLRequest requestWithURL:detailURL]; 
[self.detailWebView loadRequest:request]; 
+0

私は正直なところ、どのように多くの人がIDEであるXcodeと目的語のc言語を混同しているのか信じられません。 –

+2

ああ、おそらくあなたは非常に明らかに占領し、貧しい無知な初心者を助ける象牙塔の高さから下に達することができます。 – FLipxcode

+0

まず、いくつかのことがあります。 #1:あなたのファイルは実際にアプリケーションのバンドルにコピーされていますか? Xcodeで、 'Project-> My Target-> Build Phases-> Bundle Resources'をクリックしてください。 PDFがない場合は、プロジェクトからそのボックスにドラッグします。 #2:WevViewをロードする前に「パス」を記録してください。ファイル名が間違っている可能性があります。 –

答えて

1

にPDFを読み込むためにあなたのコードビューsemse右。

しかし、ファイルパスが間違っている可能性があります。使用する場合:

[[NSBundle mainBundle] pathForResource:filename ofType:@"pdf"]; 

文字列が追加されるだけで、タイプ文字列が追加されます。 Richard J. Ross IIIが指摘したように、

NSString *filename = [self.detailItem objectForKey:@"url"]; 
NSString *path = [[NSBundle mainBundle] pathForResource:filename ofType:@"pdf"]; 
NSLog(@"%@", path); 

そして、ええ:だから、おそらく cmd_break.pdf.pdf

でこれを確認して終了し、結果を取得します。辞書に間違ったキーを使用しています。 "name" -keyは "Break"を返し、 "url" -keyは "cmd_break.pdf"を返します。

+2

ちょっと待ってください。彼が 'name'キーの値をロードしていて、 'url'キーの値をロードしているという問題はありませんか? –

+0

正しい。それを逃した。編集されました。 – Nic

+1

お互いのおかげで...それは問題でした( "url"の代わりに "name"を使用)。私はまた、ファイル拡張子を含まないように配列の内容を変更しました。 – FLipxcode

関連する問題