使用iOS8中的UIDatePicker计算一个月内剩余的百分比

时间:2015-12-05 01:47:34

标签: ios swift ios8

希望有人可以帮助我。我正在尝试做一个简单的仪表板(这里是编码新的。学习Swift 1.0只是为了先熟悉语言)我希望仪表板中的一个项目显示已经完成的月份百分比。

经过很多玩弄,我以为我写了一些可行的东西。当我运行应用程序时,我没有收到任何错误,但是当我按下按钮时,该代码被写入时,仪表板的这一部分没有任何反应。

@IBAction func enterButtonPressed(sender: UIButton) {

    let stringFromSalesField = salesTextField.text
    let doubleFromSalesField = (stringFromSalesField as NSString).doubleValue
    let intFromSalesField = doubleFromSalesField

    monthlySales.hidden = false
    monthlySales.text = "$" + "\(intFromSalesField)"

    let stringFromGoalField = enterGoalTextField.text
    let doubleFromGoalField = (stringFromGoalField as NSString).doubleValue
    let intFromGoalField = doubleFromGoalField

    moneyTillGoal.hidden = false
    moneyTillGoal.text = "$" + "\(intFromGoalField - intFromSalesField)"

    percentComplete.hidden = false
    percentComplete.text = "\((intFromSalesField / intFromGoalField) * 100)" + "%"

    let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "MM-dd"
    let strDate = dateFormatter.stringFromDate(datePicker.date)
    todaysDate.text = strDate
    todaysDate.hidden = false


    let dateComponents = NSDateComponents()
    let day = dateComponents.day
    let month = dateComponents.month



    if  dateComponents.month == 01 {
        percentThruMonth.text =  "\((day / 31) * 100)" + "%"
    }
    else if  dateComponents.month == 03 {
        percentThruMonth.text =  "\((day / 31) * 100)" + "%"
    }
    else if dateComponents.month == 05 {
        percentThruMonth.text =  "\((day / 31) * 100)" + "%"}
    else if dateComponents.month == 07 {
        percentThruMonth.text =  "\((day / 31) * 100)" + "%"}
    else if dateComponents.month == 08 {
        percentThruMonth.text =  "\((day / 31) * 100)" + "%"}
    else if dateComponents.month == 10 {
        percentThruMonth.text = "\((day / 31) * 100)" + "%"}
    else if dateComponents.month == 12 {
        percentThruMonth.text =  "\((day / 31) * 100)" + "%"}
    else if dateComponents.month == 06 {
        percentThruMonth.text =  "\((day / 30) * 100)" + "%"}
    else if dateComponents.month == 09 {
        percentThruMonth.text =  "\((day / 30) * 100)" + "%"}
    else if dateComponents.month == 11 {
        percentThruMonth.text =  "\((day / 30) * 100)" + "%"}
    else if dateComponents.month == 02 {
        percentThruMonth.text =  "\((day / 28) * 100)" + "%"}



}

思考?有没有一种更容易的方法来做到这一点,我错过了?我把所有的插座连接起来。我三重检查了。

1 个答案:

答案 0 :(得分:0)

您可以这样说:

ESP

进行计算。您应该尝试在方法中设置断点或打印某些内容,以查看它是否被调用。如果没有被调用,您可能无法正确设置操作。