我对下一步该做什么一无所知。计算过程正确吗?我怎么能把计算输出到标签?
答案 0 :(得分:0)
这里有一些问题。您正在尝试将Int和Int分配给需要String的内容。您还尝试调用Computation类的实例方法,而不使用此类的任何实例作为接收器。最重要的是,您必须实际为所述实例上的属性分配值才能使其工作。我相信这就是你的意思。
class SecondViewController: UIViewController {
@IBOutlet weak var buttonPressed: UIButton!
@IBOutlet weak var inputLength: UITextField!
@IBOutlet weak var inputWidth: UITextField!
@IBOutlet weak var display: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
func displayComputation(sender: UIButton) {
let computationObject = Computation()
computationObject.inputWidth = inputWidth.text.toInt()!
computationObject.inputLength = inputLength.text.toInt()!
display.text = String(format: "%d", computationObject.rectanglePerimeter())
}
}
注意:您的实例应该具有lowerCamelCase,并且您的类应该具有UpperCamelCase。
如果您想计算面积,似乎您在公式中犯了一个错误。你在做什么计算外围。这就是你想要的。
class Computation {
var buttonPressed = 0
var inputLength = 0
var inputWidth = 0
func rectanglePerimeter() -> Int {
return inputWidth * 2 + inputLength * 2
}
}
答案 1 :(得分:0)
您必须创建一个类的实例:
class Computation {
var inputLength = 0
var inputWidth = 0
func rectanglePerimeter() -> Int {
return 2*inputLength + 2*inputWidth // I think this is what you need
}
}
// later
var c = Computation()
var result = c.rectanglePerimeter()
但是你应该重新考虑你在这里做了什么 - 它是相当混乱的(数据类型及其转换,类命名和封装,矩形本身的计算等)。我认为一本关于面向对象编程的基础书将是一个很好的起点。