无法将types'UInt'的值转换为期望的参数types'UnsafeMutablePointer <UInt>'
我试图从URL访问的内容初始化string:
actualresponse.response = String(contentsOfURL: url, usedEncoding: NSUTF8StringEncoding)
我得到下面的错误,指向usedEncoding:
无法将types'UInt'的值转换为期望的参数types'UnsafeMutablePointer'
谁能告诉我为什么这个错误被抛出,我该如何解决?
有两种相似但不同的方法可能会被误解。
-
通常的方法是
init(contentsOfURL url: NSURL, encoding enc: UInt) throws
encoding
参数采用NSStringEncoding
值来指定编码,例如let string = try? String(contentsOfURL:url, encoding:NSUTF8StringEncoding)
-
第二种方法是通过将指针作为
usedEncoding
parameter passing来从文件中检索编码init(contentsOfURL url: NSURL, usedEncoding enc: UnsafeMutablePointer<UInt>) throws
该文件说:
返回时,如果url被成功读取,则包含用于解释数据的编码。
这意味着你必须传递一个包含文件的确定编码的指针。
var encoding : NSStringEncoding = 0 let string = try? String(contentsOfURL:url, usedEncoding:&encoding)