我需要将变量从NSUInt转换为Int,以将其作为分配的参数传递。
我尝试使用Int()进行初始化,但编译器拒绝 cannot invoke initializer for type 'int' with an argument of type '(UInt?)'
这是变量:NSUInteger count
这是分配的调用let outPut = UnsafeMutablePointer<Float>.allocate(capacity: count)
没有转换,编译器将生成此错误: cannot convert value of type 'UInt?' to expected argument type 'Int'
这是因为它是可选的,您需要解开它
var x: UInt?
if let z = x {
let y = Int(exactly: z)
}
请注意,Int(exactly:)
该函数也会返回可选值,因此您可能需要使用一条guard
语句或其他语句if let...
vacawama Int(z)指出的更新可能会崩溃
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句