gpt4 book ai didi

ios - 来自数据库的 Realm 部分日期?

转载 作者:搜寻专家 更新时间:2023-11-01 07:23:24 25 4
gpt4 key购买 nike

我正在做一个简单的任务应用程序,当您添加一个新任务时,您必须填写名称和任务开始的日期。

我想在这样的部分按日期对我的任务进行排序。

enter image description here

class Task: Object {

dynamic var name = "" // názov úlohy
dynamic var notes = "" // poznámky úlohy
dynamic var created_at = NSDate() // dátum vytvorenia úlohy
dynamic var planned_at = "" // dátum vykonania úlohy
dynamic var isCompleted = false // status úlohy
}

这是我保存数据的模型

从浏览器

enter image description here

如何做到?我一直在这里发现一些问题,但没有任何帮助。

最佳答案

1.

如果行数很少或固定,一个简单的方法是创建部分管理对象(例如字典``)并自己​​填充值。

请参阅 Realm 的 GroupedTableView 示例 https://github.com/realm/realm-cocoa/tree/master/examples/ios/swift-2.2/GroupedTableView

2.

如果有大量行或可变行,最有效的方法是定义节对象并与Task 对象链接。如下:

class DueDate: Object {
dynamic var date: String = "" // DD MM, YYYY
dynamic var task: Task?

override class func primaryKey() -> String {
return "date"
}
}

然后在每次创建 Task 对象时将 Task 对象附加到 DueDate

let dateString = dateFormatter.stringFromDate(task.created_at)
var dueDate = realm.objectForPrimaryKey(DueDate.self, key: dateString)
if dueDate == nil {
dueDate = DueDate()
dueDate.date = dateString
try! realm.write {
realm.add(dueDate, update: true)
}
}
dueDate.tasks.append(task)

现在,您可以获得如下部分:

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
let realm = try! Realm()
let sections = realm.objects(DueDate)
return sections.count
}

Realm 的关系表示为本地链接。所以一段关系的成本真的很便宜。这是否回答了您的问题?

关于ios - 来自数据库的 Realm 部分日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37564289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com