2017-09-05 4 views
0

publicDatabaseに格納されたPDFファイルをCKAssetとしてロードしようとしていますが、このコードは昨年公開された既存のアプリケーションでうまくいきました。しかし、私は今、次のエラーを取得するCKAssetをUIWebViewにロード

ここ

強制

で「データ」を入力するタイプ「NSDataの」の値を変換できませんが、コードで

- 私は確信している

if docType == "PDF" || docType == "pdf" { 
    if let asset1 = record.object(forKey: "documentFile") as? CKAsset { 
     let doc1Data : NSData? = NSData(contentsOf:asset1.fileURL) 
     let path = (NSTemporaryDirectory() as NSString).appendingPathComponent(filename) 
     let fileURL = NSURL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(filename) 
     do { 
     try doc1Data!.write(to: URL(fileURLWithPath: path), options: .atomic) 
     } catch { 
     print(error) 
     } 
     self.docWebView.load(doc1Data! as Data, mimeType: "application/pdf", textEncodingName: "UTF-8", baseURL: NSURL() as URL) 
     self.filenameURL = [(fileURL)] 
} 

がなければなりません簡単な説明はありますが、問題は見えません。

ありがとうございました。

+0

私はまだエラーが表示されます - 'NSData'タイプの値を 'データ'タイプに変換できません"self.docWebView.loadData(データとしてのdoc1Data ?, MIMEType:"アプリケーション/ pdf "、textEncodingName:" UTF-8 "、baseURL:NSURL())"に関するコード行 – Bowcaps

答えて

0

は、以下の行変更してみてください:

let doc1Data = NSData(contentsOf:asset1.fileURL) 
+0

私はまだエラー - 'self.docWebView.loadData(doc1Data as Data ?, MIMEType: "application/pdf"、textEncodingName: "UTF-8"、baseURL: "data")に関連して強制的に' NSData ' NSURL()をURLとして) 'コード行 – Bowcaps

0

let doc1Data : NSData? = NSData(contentsOf:asset1.fileURL) 

を答えは簡単です現れるloadRequestに負荷データを変更してからそれを取得した文書のURLを参照しますCKAsset

関連する問題