删除 isLeapMonth: false
Remove isLeapMonth: false
下面的代码应该 return 自单元格创建以来的天数,确实如此,但它也 returns 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
这是因为 differenceOfDate
是 DateComponents
类型,而这 return 不是一个数字。如果需要获取天数,可以通过获取 day
属性 of DateComponents
来获取此数字
Calendar.current.dateComponents(components, from: startDate!, to: currentDate).day!
由于您只需要天数,因此您应该只从结果 DateComponents
中提取 day
值并根据需要打印该数字。
cell.detailTextLabel?.text = "\(differenceOfDate.day!) days"
请注意,在这里使用 !
是安全的,因为您特别请求了 .day
组件。
下面的代码应该 return 自单元格创建以来的天数,确实如此,但它也 returns 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
这是因为 differenceOfDate
是 DateComponents
类型,而这 return 不是一个数字。如果需要获取天数,可以通过获取 day
属性 of DateComponents
Calendar.current.dateComponents(components, from: startDate!, to: currentDate).day!
由于您只需要天数,因此您应该只从结果 DateComponents
中提取 day
值并根据需要打印该数字。
cell.detailTextLabel?.text = "\(differenceOfDate.day!) days"
请注意,在这里使用 !
是安全的,因为您特别请求了 .day
组件。