如何根据在 SwiftUI 中添加的日期对我的 NSSet 数组进行排序?

How do I sort my NSSet Array for date added in SwiftUI?

这是我的Group+CoreDataProperty。我目前正在使用 postName 按字母顺序排序。现在我想按添加日期排序。我该如何更改?

extension Group {

    @nonobjc public class func fetchRequest() -> NSFetchRequest<Group> {
        return NSFetchRequest<Group>(entityName: "Group")
    }

    @NSManaged public var groupThumbnail: Data?
    @NSManaged public var groupTitle: String?
    @NSManaged public var home: Home?
    @NSManaged public var posts: NSSet?

    public var postsArr: [Post] {
        let set = posts as? Set<Post> ?? []
        return set.sorted {
            [=10=].postName ?? "" < .postName ?? ""
        }
    }
}

我试过替换 $0.postName ?? "" < $1.postName ?? “”与:

$0.postDate ?? "" < $1.postDate ?? “”。但是我应该用什么替换“”?

感谢您的帮助!

如果 postDate 是类型 Date 你可以做

        [=10=].postDate ?? Date() < .postDate ?? Date()

??后的值定义当主值为 nil 时使用的内容,因此它始终必须与原始属性的类型相匹配。当 String 它必须是一个字符串,例如"",当日期必须是日期。如果值为 nilDate() 将 return 当前日期 – 无论如何不应该是这种情况。

在 SwiftUI 中,您将使用 @FetchRequest 属性 包装器来获取 Post 实体,其谓词匹配 group(即 Groupposts 关系)和 dateAdded.

的排序描述符