【问题标题】:Sorting Array received from Core Data in Swift在 Swift 中从 Core Data 接收到的排序数组
【发布时间】:2014-08-28 12:14:29
【问题描述】:

我的实体有一个 NSManagedObject 我自己的班级 (BPMonitor) - BPMonitor

import UIKit
import CoreData

@objc(BPMonitor)
class BPMonitor: NSManagedObject {
    @NSManaged var sisPress: String
    @NSManaged var diaPress: String
    @NSManaged var hbPress: String
    @NSManaged var datePress: NSDate
}

在代码中,我从核心数据接收数据到数组:

var results:[BPMonitor]=[]
...
...

如何按降序对字段datePress (NSDate) 的数组进行排序?

【问题讨论】:

    标签: ios swift nsarray ios8 nsmanagedobject


    【解决方案1】:

    您只需要使用 Swift 提供的标准 sortsorted 函数即可:

    var results: [BPMonitor] = []
    
    var sortedResults = sorted(results, {
        $0.datePress.compare($1.datePress) == NSComparisonResult.OrderedDescending
    })
    

    【讨论】:

    • 为什么在获取核心数据实体时不使用 NSSortDescriptor?
    • 它让 Core Data 为您完成工作,虽然您可以在检索后进行排序,但这只是必须进行的额外操作。 NSFetchRequest 接受一组 NSSortDescriptor 对象,因此即使您只有一个 NSSortDescriptor,将其放入数组中,您应该没问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多