问题描述
我有一个属性 @NSManaged public var sectionKeyDate: Date?
我正试图用于 sectionKey
。我在将 NSFetchedResultsSectionInfo
中的结果字符串格式化为 Date
,然后再转换回格式化字符串时遇到问题。
override func tableView(_ tableView: UITableView,titleForHeaderInSection section: Int) -> String? {
guard let sectionInfo = fetchedResultsController.sections?[section] else {
return nil
}
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-DD"
print("sectionInfo.name: ",sectionInfo.name)
print("Date: ",formatter.date(from: sectionInfo.name))
guard let date = formatter.date(from: sectionInfo.name) else { return "Error" }
let string = formatter.string(from: date)
return string
}
从字符串到日期的转换失败并返回 nil。
sectionInfo.name: 2021-03-25 05:00:00 +0000
Date: nil
(1) 我不知道如何正确格式化。
(2) 我不完全确定对 Date
使用 sectionKeyPath
是否可以。
解决方法
问题在于获取正确的 dateFormat
。
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ssZ"
let date = formatter.date(from: sectionInfo.name)