【发布时间】:2025-11-26 01:10:04
【问题描述】:
在我的应用程序中,我可以添加一个事件,它们的事件将在 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,而不是根本没有单元格。如果事件发生在未来,关于如何不添加单元格的任何想法?
【问题讨论】:
-
与您在行数委托方法中使用的逻辑相同?。调试和检查。以毫秒为单位获取时间并比较值。然后检查。
-
对于日期比较,请参阅此 SO Qn *.com/questions/26198526/…
-
你必须先过滤你的数据
-
我认为代码中的 if 语句可以正常工作,只是我不确定如果日期是将来如何不添加单元格,我编辑了代码,也许问题更有意义
标签: ios uitableview swift2 nsdate xcode7