【发布时间】:2017-04-15 12:31:17
【问题描述】:
我用这个打电话给UIBeizerPath 的getLineDash:
path.getLineDash(pattern.map{CGFloat($0)}, ...)
pattern 是[Float](我必须使用[Float],而不是[CGFloat])在Fast method to cast [Float] to [CGFloat]? 之后将其转换为[CGFloat],但它给了我
Cannot convert value of type '[CGFloat]' to expected argument type 'UnsafeMutablePointer<CGFloat>?'
奇怪的是,表演
path.setLineDash(pattern.map{CGFloat($0)}, ...
不会引发编译错误。
在this 问题之后,我添加了as UnsafeMutablePointer<CGFloat>,但它仍然给我错误。
【问题讨论】:
-
方法
setLineDash采用UnsafePointer<CGFloat>,所以你可以使用map。 (虽然,在每次调用setLineDash时调用map并不是一种有效的方法。)您必须使用[CGFloat](或手动分配的CGFloats 区域)调用 @ 987654342@.
标签: swift cgfloat unsafemutablepointer