从领域按日期获取部分

时间:2018-09-08 05:48:00

标签: ios swift uitableview realm

在Realm中,此模型提供了一个有效的UITableView

@objcMembers class Transaction: Object {

    dynamic var account: Account!
    dynamic var picPath: String = ""
    dynamic var transAmount: Double = 0.00
    dynamic var transDate: Date!
    dynamic var note: String = ""

}

TableViewDataSource中的相关代码为:

override func numberOfSections(in tableView: UITableView) -> Int {

    return 1
}


override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    // #warning Incomplete implementation, return the number of rows

    let accounts = realm.objects(Account.self)

    for item in accounts{
        if item.isCurrent{
            self.currentAccount = item
        }
    }
    let detailPredicate = NSPredicate(format: "account = %@", currentAccount)
    let transactions = realm.objects(Transaction.self).filter(detailPredicate)

    return transactions.count
}

现在,我想通过将tableView按单个日期进行分组来更好地组织它,但是我发现自己在寻求一种简洁的方法。从我在Google和SO上的搜索来看,它是如此普遍和容易,以至于每个人都已经知道如何使用它,或者从未尝试过它。

具体来说,我正在寻找由每个日历日定义的粒度作为节标题,在该粒度下,该日期内所有Transaction受到时间攻击的时间均按时间顺序列出。显然,这里有信息,但是我似乎看不到树木的树林...

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

@DávidPásztor指向his answer here的链接在预期的调整以适合我现有代码之后工作正常。

太好了!