swift - Swift 中的运行配速计算器

标签 swift xcode6 calculator

我是 Swift 的新手。我在 Playground 中创建了一个运行配速计算器作为实验,它运行得很好,但我很难弄清楚如何将它连接到 UI。

目前我特别困扰的事情:

  • 将文本字符串转换为 Int 标签
  • 进行计算的函数是否在 IBAction 中?

Playground 代码

import UIKit

func PaceCalculator (minutes:Double, seconds:Double, distance:Double) -> Double{
    return ((minutes*60) + seconds) / distance
}

var paceInSeconds = PaceCalculator(28, 26, 10.1)
var paceInMinutes = paceInSeconds / 60
var roundedMinutes = Double(floor(paceInMinutes))
var decimalSeconds = paceInMinutes - roundedMinutes
var intPace = Int(floor(roundedMinutes))
var seconds = Int(floor(decimalSeconds * 60))

println("Your average pace is \(intPace):\(seconds)/km")

Swift 代码不完整

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    @IBAction func calculatePaceButton(sender: UIButton) {

    }

    @IBOutlet weak var minutesTextField: UITextField!
    @IBOutlet weak var distanceTextField: UITextField!
    @IBOutlet weak var paceLabel: UILabel!

}

Storyboard

enter image description here

免责声明:我也没有编程经验。因此,请谨慎对待术语和解释。)

最佳答案

希望这对您有用:

您没有将 secondsTextField 添加为 IBOutlet,请也检查一下。

class ViewController: UIViewController {

    @IBOutlet weak var minutesTextField: UITextField!
    @IBOutlet weak var distanceTextField: UITextField!
    @IBOutlet weak var paceLabel: UILabel!
    @IBOutlet weak var secondsTextField: UITextField!
    @IBAction func calculatePaceButton(sender: UIButton) {
        var paceInSeconds = PaceCalculator((minutesTextField.text as NSString).doubleValue, seconds: (secondsTextField.text as NSString).doubleValue, distance: (distanceTextField.text as NSString).doubleValue)
        var paceInMinutes = paceInSeconds / 60.0
        var roundedMinutes = Double(floor(paceInMinutes))
        var decimalSeconds = paceInMinutes - roundedMinutes
        var intPace = Int(floor(roundedMinutes))
        var seconds = Int(floor(decimalSeconds * 60))
        paceLabel.text = "\(intPace)"
    }

    func PaceCalculator (minutes:Double, seconds:Double, distance:Double) -> Double{
        return ((minutes*60) + seconds) / distance
    }
}

关于swift - Swift 中的运行配速计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31422722/

相关文章:

ios - 在 iOS 的自定义抽屉导航中状态栏颜色更改为白色?

ios - 如何使用 cocoapods 安装适用于 iOS 的 facebook sdk?

ios - Xcode 6 在使用 Swift 编码进行预测时添加了两个点(句点)

ios - 在 iOS 8 模拟器中运行 .app 文件

ios - Xcode 6 - Save for iOS App Store Deployment 需要访问开发团队吗?

ios - 制作二进制计算器应用程序 (swift)

java - Java 中比 double 更大的数据类型是什么?

javascript - 如何在没有 eval 的情况下用 javascript 编写计算器

swift - 从 UITableView 获取文本标签

swift - 如何刷新 TableView 以使索引也更新?