如何根据事件单元格的日期添加/不添加事件单元格

时间:2016-06-27 05:56:42

标签: ios uitableview swift2 nsdate xcode7

在我的应用程序中,我可以添加一个事件,它们将在tableView中显示为具有事件信息的单元格。现在我希望能够设置事件的日期,然后单元格将只添加到tableView,如果该日期在当前日期之前(事件发生在过去)。下面是代码:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let e = events[indexPath.row]
    let cell = self.tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! CustomCell
    let Date1 = e.eventDate
    let Date2 = NSDate()

    if Date1!.earlierDate(Date2).isEqualToDate(Date1!) {

        // Sets labels in cell to whatever user typed in on the events page
        cell.titlePrototypeCell!.text = e.eventTitle!

    } else {

        //Code to not add a cell

    }

    return cell

}

问题在于,如果事件日期在当前日期之后(将来),那么常规单元格将添加到tableView而不是任何单元格。如果事件是将来如何不添加单元格的任何想法?

1 个答案:

答案 0 :(得分:0)

你必须做一件事。 1)从events数组中删除不包含未来日期的对象。

2)重新加载您的表格数据。

因此,您只能获得未来日期的记录

此代码可能对您有所帮助。在获得您的回复之前调用此方法。

func RemoveData(){
     for var i = events.count-1; i >= 0 ; i-- {
      let e = events[i]
      let Date1 = e.eventDate
      let Date2 = NSDate()
      if Date1!.earlierDate(Date2).isEqualToDate(Date1!) == false{
            events.removeObjectAtindex(i)
      }
    }
}