Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 创建用于计算矩形面积的Swift应用程序_Ios_Swift - Fatal编程技术网

Ios 创建用于计算矩形面积的Swift应用程序

Ios 创建用于计算矩形面积的Swift应用程序,ios,swift,Ios,Swift,我不知道下一步该怎么办。计算过程正确吗?如何将计算结果输出到标签 这里有一些地方不对劲。您正在尝试将和Int赋值给需要字符串的对象。您还尝试调用计算类的实例方法,而不使用该类的任何实例作为接收器。除此之外,您还必须实际为所述实例上的属性指定值,才能使其正常工作。我相信这就是你的本意 class SecondViewController: UIViewController { @IBOutlet weak var buttonPressed: UIButton! @IBOutlet

我不知道下一步该怎么办。计算过程正确吗?如何将计算结果输出到标签


这里有一些地方不对劲。您正在尝试将和Int赋值给需要字符串的对象。您还尝试调用计算类的实例方法,而不使用该类的任何实例作为接收器。除此之外,您还必须实际为所述实例上的属性指定值,才能使其正常工作。我相信这就是你的本意

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())
    }
}
注意:您的实例应该使用小写,而您的类应该使用大写

如果要计算面积,则公式中似乎也有错误。你所做的是计算周长。这就是你想要的

class Computation {
    var buttonPressed = 0
    var inputLength = 0
    var inputWidth = 0

    func rectanglePerimeter() -> Int {
        return inputWidth * 2 + inputLength * 2
    }
}

您必须创建类的实例:

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

但是您应该重新考虑一下您在这里所做的事情——这是一个相当混乱的过程(数据类型及其转换、类命名和封装、矩形本身的计算等等)。我认为一本关于面向对象编程的基础书是一个很好的起点

阅读iBooks对Swift的介绍。当你陷入困境时再来。它会回答你的问题。我不能告诉你你的Swift代码是否正确,但我认为矩形面积的公式是宽度*高度。请看这里:计算()从何而来?我收到一个错误“使用未解析标识符”。@user139863您应该阅读我的完整答案。Computation()创建计算类的新实例。这会给你一个错误,因为大写与你正在使用的代码不同,因为你没有正确地大写你的类名。好的,谢谢!我现在明白了@user139863@user139863如果这解决了问题,请标记为正确。只需简单地问一个问题:%d是什么意思?