当从另一个类访问时,Swift类变量不会更改



我有一个更新rgb变量的函数。当它在类中调用时,它可以正常工作,但是如果我尝试通过另一堂课访问它,则不会做任何事情。

var red : CGFloat! = 0.5;
var green : CGFloat! = 0.5;
var blue : CGFloat! = 0,5;
func updateColour(r:CGFloat, g:CGFloat, b:CGFloat){
    red = r;
    green = g;
    blue = b;
}

我正在尝试使用下面的代码从另一类设置值。我使用打印命令来确保调用该函数,但变量不会更新。

    let canvas = canvasViewController() as canvasViewController;
    canvas.updateColour(r: red, g: green, b: blue)

不确定我是否将变量设置不正确或访问类错误,但是任何帮助都将不胜感激。

实际上,我认为您做错了什么,您需要重新审视代码或与我们共享更多代码。

顺便说一句,我在操场上的Swift 3.0中尝试了您的代码,一切正常,请自己尝试:

class canvasViewController {
    var red : Float! = 0.5;
    var green : Float! = 0.5;
    var blue : Float! = 0.5;
    func updateColour(r:Float, g:Float, b:Float){
        red = r;
        green = g;
        blue = b;
    }
}
class anotherClass {
    func checkUpdateColour() {
        let canvas = canvasViewController()
        canvas.updateColour(r: 0.25, g: 0.25, b: 0.25)
        canvas.red
    }
}
var another = anotherClass()
another.checkUpdateColour()

最新更新