'map'生成[T],而不是预期的上下文结果类型'UnsafeMutablePointer '('map' produces [T], no

编程入门 行业动态 更新时间:2024-10-28 01:25:00
'map'生成[T],而不是预期的上下文结果类型'UnsafeMutablePointer '('map' produces [T], not the expected contextual result type 'UnsafeMutablePointer')

我用这个方法调用getLineDash的UIBeizerPath :

path.getLineDash(pattern.map{CGFloat($0)}, ...)

pattern是[Float] (我必须使用[Float] ,而不是[CGFloat] )下面的快速方法将[浮点]投射到[CGFloat]? 把它投给[CGFloat] ,但是它给了我

Cannot convert value of type '[CGFloat]' to expected argument type 'UnsafeMutablePointer<CGFloat>?'

奇怪的是,表演

path.setLineDash(pattern.map{CGFloat($0)}, ...

不会引发编译错误。

在这个问题之后,我添加as UnsafeMutablePointer<CGFloat>但它仍然给我错误。

I am calling getLineDash of a UIBeizerPath with this:

path.getLineDash(pattern.map{CGFloat($0)}, ...)

Where pattern is a [Float] (And I must use [Float], not [CGFloat]) following Fast method to cast [Float] to [CGFloat]? to cast it to [CGFloat], but it is giving me

Cannot convert value of type '[CGFloat]' to expected argument type 'UnsafeMutablePointer<CGFloat>?'

Weirdly, performing

path.setLineDash(pattern.map{CGFloat($0)}, ...

Does not raise a compile error.

Following this question, I added as UnsafeMutablePointer<CGFloat> but it is still giving me the error.

最满意答案

我有点愚蠢。 我没有完全理解UnsafeMutablePointer 。

基本上它们都是inout参数,所以它们在函数调用之前需要&符号( & )。 同样,因为它是inout,我必须将一个[CGFloat]变量传递给它。

此代码工作:

var pat = pattern.map{CGFloat($0)} var cou = count var phas = phase.map{CGFloat($0)} path.getLineDash(&pat, count: &cou, phase: &phas)

I was a bit stupid. I didn't fully understand UnsafeMutablePointers.

basically they are inout parameters, so they need the ampersand (&) before the function call. also, as it is inout, I must pass a variable of [CGFloat] to it.

This code worked:

var pat = pattern.map{CGFloat($0)} var cou = count var phas = phase.map{CGFloat($0)} path.getLineDash(&pat, count: &cou, phase: &phas)

更多推荐

本文发布于:2023-08-03 16:26:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1393294.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:上下文   而不是   类型   UnsafeMutablePointer   map

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!