为矩形区域创建Swift应用程序计算

时间:2014-07-29 13:20:57

标签: ios swift

我对下一步该做什么一无所知。计算过程正确吗?我怎么能把计算输出到标签?

enter image description here

2 个答案:

答案 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()

但是你应该重新考虑你在这里做了什么 - 它是相当混乱的(数据类型及其转换,类命名和封装,矩形本身的计算等)。我认为一本关于面向对象编程的基础书将是一个很好的起点。