【问题标题】:Load CKAsset into UIWebView将 CKAsset 加载到 UIWebView
【发布时间】:2017-09-05 18:51:24
【问题描述】:

我正在尝试将存储在 publicDatabase 中的 PDF 文件作为 CKAsset 加载,该代码在去年发布的现有应用程序上运行良好。但是我现在收到以下错误

无法强制将“NSData”类型的值转换为“Data”类型

这里是代码 -

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)]
}

我确定一定有一个简单的解释,但我看不到问题

提前致谢。

【问题讨论】:

  • 唉,我仍然收到错误 - 无法将类型“NSData”的值转换为与self.docWebView.loadData(doc1Data as Data?, MIMEType: "application/pdf", textEncodingName: "UTF-8", baseURL: NSURL() as URL) 代码行相关的强制类型“数据”

标签: ios swift3 uiwebview xcode8 cloudkit


【解决方案1】:

尝试更改以下行:

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

let doc1Data = NSData(contentsOf:asset1.fileURL)

【讨论】:

  • 唉,我仍然收到错误 - 无法将类型“NSData”的值转换为与self.docWebView.loadData(doc1Data as Data?, MIMEType: "application/pdf", textEncodingName: "UTF-8", baseURL: NSURL() as URL) 代码行相关的强制类型“数据”
【解决方案2】:

看起来答案很简单,将加载数据更改为 loadRequest 并引用从 CKAsset 获得的文档的 URL

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)
do {
   try doc1Data!.write(to: URL(fileURLWithPath: path), options: .atomic)
   let url = URL(fileURLWithPath: path)
   let urlRequest = URLRequest(url: url)
   self.docWebView?.loadRequest(urlRequest)
  } catch {
   print(error)
   }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-17
    • 1970-01-01
    • 2012-09-20
    • 2011-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多