【发布时间】:2017-05-28 19:57:43
【问题描述】:
我有一系列“提醒”。 Reminder 是我自己编写的一个自定义类,它有一个属性 .fireDate。
如何检查提醒 .fireDate 属性之一是否与今天相同?
【问题讨论】:
-
编辑您的问题并在此处粘贴相关代码
标签: ios arrays swift class date
我有一系列“提醒”。 Reminder 是我自己编写的一个自定义类,它有一个属性 .fireDate。
如何检查提醒 .fireDate 属性之一是否与今天相同?
【问题讨论】:
标签: ios arrays swift class date
let calendar = Calendar(identifier: Calendar.Identifier.gregorian)
for (idx, date) in dates.enumerated() {
if calendar.isDateInToday(date) {
print("today at index \(idx)!")
}
}
【讨论】:
enumerated()函数:)
获取fireDate 在今天的第一个项目的索引。如果不是nil,则至少有一项。
let calendar = Calendar.current
if let indexOfFirstReminderWhichFiresToday = reminders.index(where: { calendar.isDateInToday($0.fireDate) }) {
print("\(reminders[indexOfFirstReminderWhichFiresToday]) fires today")
}
【讨论】:
contains(where:)
!= nil 糟透了。有guards 和if let 可以避免使用nil。 :)