gpt4 book ai didi

ios - 如何在 Swift 中将 CGAffineTransform 作为函数参数传递?

转载 作者:行者123 更新时间:2023-11-29 01:44:08 27 4
gpt4 key购买 nike

我正在子类化 Objective-c 类并覆盖超​​类方法:

override func drawWithTransform(m: CGAffineTransform) 
{
CGPathMoveToPoint(path, &m, 5, 10);
}

但我收到编译错误:无法分配给“CGAffineTransform”类型的不可变值

正确的做法是什么?

最佳答案

您不能将常量传递给 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);
}

关于ios - 如何在 Swift 中将 CGAffineTransform 作为函数参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32108583/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com