无法通过按钮的状态(true为false)在Xcode中起作用

时间:2016-03-04 12:27:43

标签: ios swift

在ViewController中声明了

var secondActive :Bool = true


@IBAction func swichState(sender: UIButton) 

{

    secondActive = !secondActive;  

    print("Boolean set to  + \(self.secondActive.boolValue)")  

    // return secondActive.boolValue();    

}

在计算器引擎类ViewController中实例化:

var viewC: ViewController?

case "sin":

if operandStack.count >= 1 

        {                                
            if (self.viewC!.secondActive == true) {

                return sin(self.operandStack.removeLast() * M_PI/180)

            }

            else {

                return asin(self.operandStack.removeLast() * M_PI/180)

            }
        }

1 个答案:

答案 0 :(得分:0)

由于你正在使用@IBAction,我假设你的viewController是在storyboard或xib上制作的,因此你不应该实例化它。我认为Hermann Klecker的评论是正确的,如果您实际上在那里实例化,那么您正在制作视图控制器的新实例。您必须将现有实例传递到引擎中。

您可能会重新考虑在视图控制器上设置开关状态,并且您当然应该重新考虑让您的引擎拥有对视图控制器的引用。