UIWebView for GIF 后台loadData方法报错
UIWebView for GIF Background loadData method error
我一直收到同样的错误:无法使用列表类型的参数调用 loadData '(NSData, MIMEType: String, textEncodingName: nil, baseURL: nil)'
对于 loadData 方法。
var filePath = NSBundle.mainBundle().pathForResource("fractal", ofType: "gif")
var gif = NSData(contentsOfFile: filePath!)
var webViewBG = UIWebView(frame: self.view.frame)
webViewBG.loadData(gif!,MIMEType: "image/gif",textEncodingName: nil,baseURL: nil) // this line of code causes the build error
您应该检查 loadData
函数签名,即:
func loadData(_ data: NSData, MIMEType MIMEType: String,
textEncodingName textEncodingName: String, baseURL baseURL: NSURL)
textEncodingName
是String
,不是String?
,所以不能通过nil
。同样适用于类型为 NSURL
的 baseURL
,而不是 NSURL?
.
在这种情况下,您可以传递 任何 值,例如 utf-8
和 http://localhost/
以满足 non-nil 标准。
检查 this thread 了解其他方法。
尽量减少 !
的使用以避免运行时故障。这样的东西更强大:
guard let filePath = NSBundle.mainBundle().pathForResource("fractal", ofType: "gif"),
let gifData = NSData(contentsOfFile: filePath) else {
return
}
var webViewBG = UIWebView(frame: self.view.frame)
webViewBG.loadData(gifData, MIMEType: "image/gif", textEncodingName: "utf-8",
baseURL: NSURL(string: "http://localhost/")!)
我一直收到同样的错误:无法使用列表类型的参数调用 loadData '(NSData, MIMEType: String, textEncodingName: nil, baseURL: nil)'
对于 loadData 方法。
var filePath = NSBundle.mainBundle().pathForResource("fractal", ofType: "gif")
var gif = NSData(contentsOfFile: filePath!)
var webViewBG = UIWebView(frame: self.view.frame)
webViewBG.loadData(gif!,MIMEType: "image/gif",textEncodingName: nil,baseURL: nil) // this line of code causes the build error
您应该检查 loadData
函数签名,即:
func loadData(_ data: NSData, MIMEType MIMEType: String,
textEncodingName textEncodingName: String, baseURL baseURL: NSURL)
textEncodingName
是String
,不是String?
,所以不能通过nil
。同样适用于类型为 NSURL
的 baseURL
,而不是 NSURL?
.
在这种情况下,您可以传递 任何 值,例如 utf-8
和 http://localhost/
以满足 non-nil 标准。
检查 this thread 了解其他方法。
尽量减少 !
的使用以避免运行时故障。这样的东西更强大:
guard let filePath = NSBundle.mainBundle().pathForResource("fractal", ofType: "gif"),
let gifData = NSData(contentsOfFile: filePath) else {
return
}
var webViewBG = UIWebView(frame: self.view.frame)
webViewBG.loadData(gifData, MIMEType: "image/gif", textEncodingName: "utf-8",
baseURL: NSURL(string: "http://localhost/")!)