如何使标签在指定日期使用不同的字符串?

时间:2017-01-14 12:38:42

标签: swift string date uidatepicker

我的想法是制作一个ios-app,在我的作品中显示今天的午餐。我不确定如何处理这个问题。我自己的想法是有一个UIDatePicker(默认设置为当天)并具有将响应不同日期的函数。这是一些代码,只是为了说明我脑子里的想法。

var dateFromPicker = UIDatePicker.date
@IBOutlet weak var lunchLabel: UILabel!

func februaryFirst {
    let dateFebruaryFirst = ...
    if dateFromPicker = dateFebruaryFirst {
        lunchLabel.text = ("Fish'n chips")
    }
 }

func februarySecond {
    let dateFebruarySecond = ...
    if dateFromPicker = dateFebruarySecond {
        lunchLabel.text = ("Noodlesoup")
    }
}

2 个答案:

答案 0 :(得分:0)

您可能希望使用DateComponents来检查特定日期的日期/月份。例如:

func februarySecond {
    // Get the day and month of the given date
    let dateFromPickerComponents = Calendar.current.dateComponents([.day, .month], from: dateFromPicker)
    // Check whether the day and month match Feb 2
    if dateFromPickerComponents.day == 2 && dateFromPickerComponents.month == 2 {
        lunchLabel.text = ("Noodlesoup")
    }
}

答案 1 :(得分:0)

您可以使用支持多个值的switch语句:

let dateFromPicker = UIDatePicker.date
let components = Calendar.current.dateComponents([.month, .day], from: dateFromPicker)
switch (components.month!, components.day!) { // first month then day
  case (1,14): print("suprise")
  case (2,1): print("Fish'n chips")
  case (2,2): print("Noodlesoup")

  default: print("fast day")

}