如何在 Swift 3 中使用 UnsafeMutablePointer<UInt>?
Posted
技术标签:
【中文标题】如何在 Swift 3 中使用 UnsafeMutablePointer<UInt>?【英文标题】:How to use the UnsafeMutablePointer<UInt> in Swift 3? 【发布时间】:2017-03-08 17:49:09 【问题描述】:if let fileObject = NSString(contentsOfFile: strBundle, usedEncoding:Int32?
每次我尝试解决这个问题时,我都会感到更加沮丧!请帮我!我不确定我需要在“usedEncoding:”参数中填写什么。
这是它给我的错误:
无法转换“Int32?.Type”类型的值(又名 'Optional.Type') 到预期的参数类型 'UnsafeMutablePointer?'
【问题讨论】:
如果是这样,那么您对我如何解决它有什么想法吗? 您能在 sn-p 中添加更多代码吗? 你为什么使用 Foundation 方法而不是 Swift 方法?为什么不使用String(contentsOfFile:)
which throws
它的错误?
【参考方案1】:
像这样:
let f = Bundle.main.url(forResource: "myFile", withExtension: "txt")!
var enc : String.Encoding = .ascii // dummy value
let s = try! String(contentsOf: f, usedEncoding: &enc)
根据需要进行修改(例如,在 do/catch
构造中使用真实的 try
等);示例代码只是为了让您重新开始。
【讨论】:
很高兴快速看到答案,而不是 Foundation以上是关于如何在 Swift 3 中使用 UnsafeMutablePointer<UInt>?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 3 中使用 NSLocale 获取国家代码
如何在 Swift 3 中使用 UnsafeMutablePointer?
如何在 Swift 3.0 中使用 keysSortedByValue?
如何使用 Swift 3 在 UIView 中覆盖 requiresConstraintBasedLayout?