在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)
}
}
答案 0 :(得分:0)
由于你正在使用@IBAction,我假设你的viewController是在storyboard或xib上制作的,因此你不应该实例化它。我认为Hermann Klecker的评论是正确的,如果您实际上在那里实例化,那么您正在制作视图控制器的新实例。您必须将现有实例传递到引擎中。
您可能会重新考虑在视图控制器上设置开关状态,并且您当然应该重新考虑让您的引擎拥有对视图控制器的引用。