如何在Swift中分配/释放不安全的指针?

用户名

在Beta 4中,我的这段代码运行良好:

var red, green, blue, alpha: UnsafePointer<CGFloat>
red = UnsafePointer<CGFloat>.alloc(1)
green = UnsafePointer<CGFloat>.alloc(1)
blue = UnsafePointer<CGFloat>.alloc(1)
alpha = UnsafePointer<CGFloat>.alloc(1)
myColor.getRed(red, green: green, blue: blue, alpha: alpha)

CGContextSetRGBStrokeColor(context, red.memory, green.memory, blue.memory, 1)

red.dealloc(1)
green.dealloc(1)
blue.dealloc(1)
alpha.dealloc(1)

现在使用Beta5,出现错误“ UnsafePointer.Type”没有名为“ alloc”的成员。

我要做的只是基于UIColor设置CGContext的笔触颜色。我现在应该怎么做?“ withUnsafePointers”函数有点像个玩笑-它给出了奇怪的错误,并且最多只使用三个不安全的指针,而在这种情况下,我尝试使用四个。

st

这行得通,Swift非常聪明,足以知道该如何处理&运算符:

let color = UIColor.purpleColor()
var r:CGFloat, g:CGFloat, b:CGFloat, a:CGFloat = 0
color.getRed(&r, green: &g, blue: &b, alpha: &a)
CGContextSetRGBStrokeColor(c, r, g, b, a)

如果您真的想自己进行分配,请使用自己喜欢的样式并构造指针,如下所示:

let p = UnsafeMutablePointer<CGFloat>(calloc(1, UInt(sizeof(CGFloat))))
// later don't forget to free(p)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Swift中的不安全指针上调用变异方法?

来自分类Dev

在 Swift 中使用 C 库获取不安全的指针

来自分类Dev

Swift:无法在数组中存储不安全指针

来自分类Dev

如何在不安全的 C# 代码中获取指向可变数量数组的指针

来自分类Dev

c指针减量安全/不安全?

来自分类Dev

删除C#不安全指针

来自分类Dev

如何在iOS中执行不安全的URLSession查询

来自分类Dev

如何在GWT中使页面不安全

来自分类Dev

如何在iframe中显示不安全的内容

来自分类Dev

如何在 mac 中以不安全模式启动 chrome?

来自分类Dev

自动ARC转换后:将保留的对象分配给不安全的属性;分配后将释放对象

来自分类Dev

如何在主函数中分配指针?

来自分类Dev

在Swift中强制转换为其他C结构不安全指针

来自分类Dev

Swift 3中的不安全字节

来自分类Dev

将类指针转换为char指针(不安全)

来自分类Dev

释放的指针未在C中分配

来自分类Dev

不安全的C#-将不安全的指针传递给方法

来自分类Dev

Blittable类型的多维数组-如何将不安全的指针固定到内存中?

来自分类Dev

如何使用C#中的不安全指针解决错误?

来自分类Dev

如何在指针数组中分配指针值

来自分类Dev

如何使用(不安全的)别名?

来自分类Dev

如何克服“不安全”错误?

来自分类Dev

如何在安全上下文中使用不安全代码?

来自分类Dev

如何在Linux上将安全websocket(wss://)隧道到不安全的websocket(ws://)(stunnel?)

来自分类Dev

返回不安全的指针以键入参数

来自分类Java

Java中是否存在“指针”或“不安全代码”的概念?

来自分类Dev

不安全。在Go中指向[] byte的指针

来自分类Dev

如何获取 c# 不安全结构的 IntPtr 以释放其在 c++ dll 中初始化的内存

来自分类Dev

将保留对象分配给不安全属性

Related 相关文章

  1. 1

    如何在Swift中的不安全指针上调用变异方法?

  2. 2

    在 Swift 中使用 C 库获取不安全的指针

  3. 3

    Swift:无法在数组中存储不安全指针

  4. 4

    如何在不安全的 C# 代码中获取指向可变数量数组的指针

  5. 5

    c指针减量安全/不安全?

  6. 6

    删除C#不安全指针

  7. 7

    如何在iOS中执行不安全的URLSession查询

  8. 8

    如何在GWT中使页面不安全

  9. 9

    如何在iframe中显示不安全的内容

  10. 10

    如何在 mac 中以不安全模式启动 chrome?

  11. 11

    自动ARC转换后:将保留的对象分配给不安全的属性;分配后将释放对象

  12. 12

    如何在主函数中分配指针?

  13. 13

    在Swift中强制转换为其他C结构不安全指针

  14. 14

    Swift 3中的不安全字节

  15. 15

    将类指针转换为char指针(不安全)

  16. 16

    释放的指针未在C中分配

  17. 17

    不安全的C#-将不安全的指针传递给方法

  18. 18

    Blittable类型的多维数组-如何将不安全的指针固定到内存中?

  19. 19

    如何使用C#中的不安全指针解决错误?

  20. 20

    如何在指针数组中分配指针值

  21. 21

    如何使用(不安全的)别名?

  22. 22

    如何克服“不安全”错误?

  23. 23

    如何在安全上下文中使用不安全代码?

  24. 24

    如何在Linux上将安全websocket(wss://)隧道到不安全的websocket(ws://)(stunnel?)

  25. 25

    返回不安全的指针以键入参数

  26. 26

    Java中是否存在“指针”或“不安全代码”的概念?

  27. 27

    不安全。在Go中指向[] byte的指针

  28. 28

    如何获取 c# 不安全结构的 IntPtr 以释放其在 c++ dll 中初始化的内存

  29. 29

    将保留对象分配给不安全属性

热门标签

归档