在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”函数有点像个玩笑-它给出了奇怪的错误,并且最多只使用三个不安全的指针,而在这种情况下,我尝试使用四个。
这行得通,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] 删除。
我来说两句