2016-12-19 4 views
0

私はPDFを表すDataを持っています。私は複数のソース(ローカルストレージとFirebase)からこれを取得するので、baseURLはありません。 absoluteURLを渡そうとしましたが、動作していません。PDFをBaseURLのないUIWebViewにロード

if let data = searchedSavedCarTest[sender as! Int].pdfData{ 

     let url = NSURL().absoluteURL 
     dc.webView.load(data, mimeType: "application/pdf", textEncodingName: "", baseURL: url) 
    } 

最後の行は、予期せず見つかったnil ..エラーです。

baseURLを回避する方法はありますか?

私はまだ本当のiOS環境でそれを試していない

+0

どの値が 'nil'ですか? – rmaddy

答えて

1

(私はスウィフト3とXcode 8.1を使用しています)が、あなたはそれがランタイムエラーを解決する有効なURLを入力する場合、私は信じている、とではありません実際にコードの機能に関係します。また、エンコードを追加します(例としてUTF-8を挿入しましたが、エンコードのIANAエンコーディング名を使用する必要があります)。

if let data = try? Data(contentsOf: URL.init(string: "http://www.orimi.com/pdf-test.pdf")!) { 

    var wv = UIWebView(frame: CGRect(x: 0, y: 0, width: 500, height: 500)) 
    wv.load(data, mimeType: "application/pdf", textEncodingName: "UTF-8", baseURL: URL(string: "http://example.com")!) 

    } 
+0

が動作しない場合でも、エラーメッセージが表示されます。 –

+0

baseURLがエラーの原因になっているとしますか?上記の例のように設定すると、URLがnilにならない可能性があります。 PDF用のテストURLを使用して私のサンプルを編集し、そのコードをプレイグラウンドで使用しても、ビルドタイムまたはランタイムにエラーはありませんでした。 – AppKongen

関連する問題