swift Class 从另一个 class 访问时变量未被更改
swift Class variables not being changed when accessed from another class
我有一个函数可以更新 rgb
变量。当它在 class 中调用时,它工作正常,但如果我尝试通过另一个 class 访问它,则不会执行任何操作。
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;
}
我正在尝试使用下面的代码设置另一个 class 的值。我使用打印命令来确保正在调用该函数,但变量不会更新。
let canvas = canvasViewController() as canvasViewController;
canvas.updateColour(r: red, g: green, b: blue)
不确定我是否错误地设置了变量或访问了 class 错误,但我们将不胜感激任何帮助。
实际上,我认为您做错了什么,您需要重新访问您的代码,或者与我们分享更多代码。
顺便说一句,我在 Playground 的 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()
我有一个函数可以更新 rgb
变量。当它在 class 中调用时,它工作正常,但如果我尝试通过另一个 class 访问它,则不会执行任何操作。
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;
}
我正在尝试使用下面的代码设置另一个 class 的值。我使用打印命令来确保正在调用该函数,但变量不会更新。
let canvas = canvasViewController() as canvasViewController;
canvas.updateColour(r: red, g: green, b: blue)
不确定我是否错误地设置了变量或访问了 class 错误,但我们将不胜感激任何帮助。
实际上,我认为您做错了什么,您需要重新访问您的代码,或者与我们分享更多代码。
顺便说一句,我在 Playground 的 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()