使用月份过滤数组(带有“Date”成员)

use*_*546 1 arrays date swift

我有一个数组“Items”,其中包含两个成员:Title 和 Date

日期由日期选择器提供

( newEntry.date = datePicker.date )
Run Code Online (Sandbox Code Playgroud)

我正在尝试根据用户选择的月份过滤我的数组,例如,如果他们选择 1 月,它将显示所有以 1 月为月份的数组项。

我可以根据标题过滤数组:

filteredData = items.filter { ($0.name?.lowercased().contains("word"))! }
Run Code Online (Sandbox Code Playgroud)

但想要另一个选项根据按下月份按钮的日期对其进行过滤。我该怎么做呢?

rma*_*ddy 6

您可以使用DateComponents

let filteredData = items.filter {
    return Calendar.current.component(.month, from: $0.date) == 1
}
Run Code Online (Sandbox Code Playgroud)

将 替换为1您选择的月份。