我是一个子类化Objective-c类并重写超类方法:
override func drawWithTransform(m: CGAffineTransform)
{
CGPathMoveToPoint(path, &m, 5, 10);
}
但是我收到了编译错误:无法分配类型的不可变值' CGAffineTransform'
正确的方法是什么?
答案 0 :(得分:1)
您不能将常量传递给UnsafePointer
参数。函数参数默认为 。
作为解决方法,您可以使用variable parameters。
override func drawWithTransform(var m: CGAffineTransform) {
// ^^^^
CGPathMoveToPoint(path, &m, 5, 10);
}
或者,事先将其复制到变量中:
override func drawWithTransform(m: CGAffineTransform) {
var _m = m
CGPathMoveToPoint(path, &_m, 5, 10);
}