2016-12-14 15 views
0

rgb 변수를 업데이트하는 함수가 있습니다. 클래스 안에서 호출 될 때 제대로 작동하지만 다른 클래스를 통해 액세스하려고하면 아무 것도하지 않습니다.다른 클래스에서 액세스 할 때 swift 클래스 변수가 변경되지 않음

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; 
} 

아래 코드를 사용하여 다른 클래스의 값을 설정하려고합니다. 함수가 호출되고 있지만 변수가 업데이트되지 않도록 print 명령을 사용했습니다.

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

내가 잘못 변수를 설정하거나 잘못 클래스에 접근하지만, 어떤 도움이 크게 감사합니다하고있어 경우에 확실하지.

+0

/를 ** 정확한 **의 ViewController 당신이 만든 푸싱? 어떻게 'cavas'viewController를 보여주고 있습니까? 코드 공유. 또한'as canvasViewController'는 여기서 중복됩니다. – Honey

+0

'canvasViewController'에 대한 참조를 얻어야합니다. 다른 VC 인스턴스를 생성 중입니다. –

+0

참조 [여기] (http://stackoverflow.com/questions/10933939/how-to-switch-views-programmatically-in-a-viewcontroller-xcode-iphone) – Honey

답변

0

사실, 나는 당신이 잘못한 것을 생각하거나 코드를 다시 방문하거나 코드를 더 공유해야한다고 생각합니다.

BTW, 내가 놀이터에서 스위프트 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()