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



这是我的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 {
$0.postName ?? "" < $1.postName ?? ""
}
}
}

我已尝试替换$0.postName"quot<1.postName"quot;带有:

$0.post日期"quot<1.post日期";。但是我该用什么来代替"具有

谢谢你的帮助!

如果postDate属于Date类型,则可以执行

$0.postDate ?? Date() < $1.postDate ?? Date()

之后的值??定义当主值为nil时使用的内容,因此它必须始终与原始属性的类型相匹配。当String时,它必须是字符串,例如"",当Date时,它也必须是Date。如果值为nilDate()将返回当前日期——无论如何都不应该是这样。

在SwiftUI中,您将使用@FetchRequest属性包装器来获取具有与group匹配的谓词(即Groupposts关系的倒数(和dateAdded的排序描述符的Post实体。

最新更新