Ios Swift 2和Swift 3之间的区别?如何将一个类的所有方法放在另一个类中?
我相信我这里有一个非常简单的问题,但由于我缺乏Swift的经验,我一直无法找到答案 以下是我创建的两个类: 我的控制器:Ios Swift 2和Swift 3之间的区别?如何将一个类的所有方法放在另一个类中?,ios,swift,class,methods,Ios,Swift,Class,Methods,我相信我这里有一个非常简单的问题,但由于我缺乏Swift的经验,我一直无法找到答案 以下是我创建的两个类: 我的控制器: import UIKit class ViewController: UIViewController { @IBOutlet private weak var display: UILabel! private var userIsInTheMIddleOfTyping = false private var brain = Calcula
import UIKit
class ViewController: UIViewController {
@IBOutlet private weak var display: UILabel!
private var userIsInTheMIddleOfTyping = false
private var brain = CalculatorBrain()
private var displayValue: Double {
get {
return Double(display.text!)!
}
set {
display.text = String(newValue)
}
}
@IBAction private func performOperation(_ sender: UIButton) {
if userIsInTheMIddleOfTyping{
brain.setOperand(displayValue)
userIsInTheMIddleOfTyping = false
}
if let mathematicalSymbol = sender.currentTitle {
brain.performOperation(mathematicalSymbol)
}
displayValue = brain.result
}
}
我的模型:
import Foundation
class CalculatorBrain{
private var accumulator = 0.0
func setOperand(operand: Double){
accumulator = operand
}
func performOperation(symbol: String){
switch symbol{
case "π": accumulator = M_PI
case "√": accumulator = sqrt(accumulator)
default: break
}
}
var result: Double{
get {
return accumulator
}
}
}
由于某种原因,我在第行中得到一个错误:brain.setOperationDisplayValue
有什么原因吗 我试过你的代码,一切都很好,除了两件事:
brain.setOperand(operand: displayValue)
brain.performOperation(symbol: mathematicalSymbol)
在Swift 3中,默认情况下第一个参数需要一个外部参数。displayValue来自何处?对不起!更新为包含“displayValue”以及错误是什么?它说brain.setOperationsDisplayValue应该是brain.setOperations:displayValue,但一旦我这样做,应用程序仍然崩溃。如果应用程序崩溃,请使用准确的错误消息更新您的问题。