UIWebView LoadData不接受textEncodingName和baseURL的Nil值

直到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) 

这适用于我:

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

Swift 3:

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

苹果已经更新了声明,他们现在要求非零值。 它们为Swift(和ObjC)的利益增加了现实。

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

默认的字符编码是UTF-8所以你可以这样做:

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