UIWebView LoadData不接受textEncodingName和baseURL的Nil值

时间:2015-08-18 23:55:55

标签: ios uiwebview swift2

直到Swift 1.2版本,UIWebView LoadData接受nil值,但Swift 2.0抛出错误“Swift不符合协议NilLateralConvertible”。

Swift 1.2:工作正常

self.webView.loadData(tempData!, MIMEType: "application/pdf", textEncodingName: nil, baseURL: nil)

Swift 2.0:引发错误

self.webView.loadData(tempData!, MIMEType: "application/pdf", textEncodingName: nil, baseURL: nil)

4 个答案:

答案 0 :(得分:13)

这对我有用:

webView.loadData(pdfDownload, MIMEType: "application/pdf", textEncodingName: "", baseURL: NSURL())

答案 1 :(得分:3)

斯威夫特3:

self.webView.loadData(tempData!, MIMEType: "application/pdf", textEncodingName: "UTF-8", baseURL: NSURL() as URL)

答案 2 :(得分:2)

默认字符编码为UTF-8,因此您可以这样做:

  

self.webView.loadData(tempData!,MIMEType:“application / pdf”,   textEncodingName:“UTF-8”,baseURL:NSURL())

答案 3 :(得分:1)

Apple更新了声明,现在需要非零值。为了Swift(和ObjC)的利益,他们为声明添加了现实。

- (void)loadData:(NSData   * nonnull)data
        MIMEType:(NSString * nonnull)MIMEType
textEncodingName:(NSString * nonnull)encodingName
         baseURL:(NSURL    * nonnull)baseURL