微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有 FetchedResultsController

如何解决带有 FetchedResultsController

我有一个属性 @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)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。