无法将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) 

  • 第二种方法是通过将指针作为usedEncodingparameter passing来从文件中检索编码

     init(contentsOfURL url: NSURL, usedEncoding enc: UnsafeMutablePointer<UInt>) throws 

    该文件说:

    返回时,如果url被成功读取,则包含用于解释数据的编码。

    这意味着你必须传递一个包含文件的确定编码的指针。

     var encoding : NSStringEncoding = 0 let string = try? String(contentsOfURL:url, usedEncoding:&encoding)