我正在尝试从 URL 可访问的内容初始化字符串:
actualresponse.response = String(contentsOfURL: url, usedEncoding: NSUTF8StringEncoding)
我得到以下错误,指向使用的编码:
无法将类型为"UInt"的值转换为预期的参数类型"不安全可变指针"
谁能告诉我为什么会抛出此错误以及如何解决它?
有两种相似但不同的方法可能会出错。
-
通常的方法是
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)