在我的应用程序中,我可以添加一个事件,它们将在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而不是任何单元格。如果事件是将来如何不添加单元格的任何想法?
答案 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)
}
}
}