【发布时间】:2021-07-14 07:47:29
【问题描述】:
这是我的模型,我想在添加新数据时扩展“待办事项”:
import Foundation
import RealmSwift
class TodoData: Object {
@objc dynamic var date: String = ""
@objc dynamic var isToday: Bool = true
let todos: List<Todo> = List<Todo>()
override public static func primaryKey() -> String? {
return "date"
}
convenience init(date: String) {
self.init()
self.date = date
self.isToday = isToday
}
}
class Todo: Object {
@objc dynamic var dateInt: Int = 0
@objc dynamic var title: String = ""
@objc dynamic var content: String = ""
@objc dynamic var isDone: Bool = false
let ofTodo = LinkingObjects(fromType: TodoData.self, property: "todos")
convenience init(dateInt: Int,title: String, content: String, isDone: Bool) {
self.init()
self.dateInt = dateInt
self.title = title
self.content = content
self.isDone = isDone
}
}
例如。从文本字段 ipnut 文本添加新数据时,主 todos 数据被覆盖。 那么如何实现 append new Todo 而不被更新呢?
try! self.realm.write {
let main = TodoData(date: now)
let sub = Todo(dateInt: todayInt, title: title, content: content, isDone: isDone)
main.todos.append(sub)
self.realm.add(main, update: Realm.UpdatePolicy.all)
}
【问题讨论】: