arrays - 如何快速获取一个月的对象

标签 arrays swift nsdate nsdatecomponents

我有一个数组,该数组包含 Observation 类型元素,其中包含 date 属性。

我只想根据月份和年份获取所有元素。

假设我的日期是 01/11/2015,那么我想从 observationList 中获取 2015 年 11 月和 2015 年的所有元素。

示例代码如下,

class  Observation
{
  var date:NSDate = NSDate()
  var value:String = ""
}

var observationList = [Observation]()

假设上面的observationList有元素,那么我将如何获得所有元素,例如2015 年 11 月?

最佳答案

您可以过滤数组

var observations = [Observation]()

使用像这样的filter方法

let calendar = NSCalendar.currentCalendar()
let filteredObservations = observations.filter { (observation) -> Bool in
    let components = calendar.components([.Month, .Year], fromDate:observation.date)
    return components.month == 11 && components.year == 2015
}

关于arrays - 如何快速获取一个月的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34041765/

相关文章:

swift - 尝试将纬度和经度坐标分配给变量,返回 nil

ios - TableView _ :didSelectRowAt: is triggered only on slide touch

ios - 到目前为止字符串的正确格式?

php - 在 php 中处理构造函数时出错

c++ - 为什么字符串文字上的 decltype 不产生数组类型?

swift - 无论实现如何,UISegmentedControl 都拒绝工作

ios - 如果年份是特定值,则执行不同的功能

swift - 日期更改时调用特定函数

c# - 使用没有 id 的列表 <strings> 加入 Linq 以从中索引

c - 在c中输入动态结构数组的malloc函数中的元素数量