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())