以下代码应该返回自创建单元以来的天数,但是它还返回isLeapMonth: false
。这是为什么?如何删除它?
let cell = super.tableView(tableView, cellForRowAt: indexPath)
cell.textLabel?.text = itemArray[indexPath.row].title
let startDate = itemArray[indexPath.row].dateCreated
let currentDate = Date()
let components = Set<Calendar.Component>([.day])
let differenceOfDate = Calendar.current.dateComponents(components, from: startDate!, to: currentDate)
cell.detailTextLabel?.text = "\(differenceOfDate)"
return cell
答案 0 :(得分:1)
这是因为differenceOfDate
的类型为DateComponents
,并且不会返回数字。如果需要获取天数,则可以通过获取day
的{{1}}属性来获得此数字
DateComponents
答案 1 :(得分:0)
由于您只需要天数,因此应该只从结果day
中提取DateComponents
值,然后根据需要打印该数字。
cell.detailTextLabel?.text = "\(differenceOfDate.day!) days"
请注意,此处使用!
是安全的,因为您特别要求使用.day
组件。