我正在尝试从URL可访问的内容初始化String:
actualresponse.response = String(contentsOfURL: url, usedEncoding: NSUTF8StringEncoding)
我收到以下错误,指向usedEncoding:
无法转换类型' UInt'预期参数类型' UnsafeMutablePointer'
有谁能告诉我为什么会抛出这个错误以及如何解决它?
答案 0 :(得分:8)
有两种相似但不同的方法可以弄错。
通常的方法是
init(contentsOfURL url: NSURL,
encoding enc: UInt) throws
encoding
参数采用NSStringEncoding
值来指定编码,例如
let string = try? String(contentsOfURL:url, encoding:NSUTF8StringEncoding)
第二种方法通过将指针作为usedEncoding
参数传递
init(contentsOfURL url: NSURL,
usedEncoding enc: UnsafeMutablePointer<UInt>) throws
文档说:
返回后,如果成功读取url,则包含使用的编码 解释数据。
这意味着您必须传递一个指针,该指针将包含确定的文件编码。
var encoding : NSStringEncoding = 0
let string = try? String(contentsOfURL:url, usedEncoding:&encoding)