【问题标题】:Date for titleForHeaderInSection with FetchedResultsController带有 FetchedResultsController 的 titleForHeaderInSection 的日期
【发布时间】:2021-08-05 13:59:03
【问题描述】:

我有一个属性@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 是否可行。

【问题讨论】:

    标签: core-data nsdateformatter nsfetchedresultscontroller nsdatecomponents


    【解决方案1】:

    问题在于获取正确的dateFormat

            let formatter = DateFormatter()
            formatter.dateFormat = "yyyy-MM-dd HH:mm:ssZ"
            
            let date = formatter.date(from: sectionInfo.name)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多