0
我打电话跟这个有UIBeizerPath
的getLineDash
:'地图' 产生[T],不是预期的情境结果类型 'UnsafeMutablePointer <CGFloat>'
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>
,但它仍然给我错误。
参见:http://stackoverflow.com/questions/39515173/how-to-use-unsafemutablepointer-in-swift-3 – shallowThought
的方法'setLineDash'需要'UnsafePointer',所以你可以使用'map'。 (但是,在每次调用'setLineDash'时,它都不是一种有效的方式来调用'map')。**必须**使用'[CGFloat]'(或手动分配的'CGFloat's)来调用'getLineDash '。 –
OOPer