gpt4 book ai didi

swift - 如何获取刚刚创建的 Realm 条目的值?

转载 作者:行者123 更新时间:2023-11-28 12:52:11 26 4
gpt4 key购买 nike

我正在使用这段代码创建 Realm 入口,它工作正常。

        let new = Exercises()
new.name = new_name
new.notes = new_notes

try! RealmDB.write({ () -> Void in
self.selectedDate.exercises.append(new)
})

在 Realm 数据库中创建条目后,我需要用该条目的值更新几个 uitextfields。

NameField.text = String(XXXXX.name)
NotesField.text = String(XXXXX.notes)

我就是找不到那个 XXXXX 的正确代码。如果您有任何想法,请告诉我。

简化的 Realm 结构如下所示。

    Dates {
date {
type = date;
objectClassName = (null);
indexed = NO;
isPrimary = NO;
optional = NO;
}
exercises {
type = array;
objectClassName = Exercises;
indexed = NO;
isPrimary = NO;
optional = NO;
}
}
Exercises {
date {
type = date;
objectClassName = (null);
indexed = NO;
isPrimary = NO;
optional = NO;
}
name {
type = string;
objectClassName = (null);
indexed = NO;
isPrimary = NO;
optional = NO;
}
notes {
type = string;
objectClassName = (null);
indexed = NO;
isPrimary = NO;
optional = NO;
}
}

最佳答案

如果您的 self.selectedDate 对象与您的 UITextField 对象在相同的范围内,它应该只是一个问题:

let latestNote? = self.selectedDate.exercises.last
NameField.text = latestNote.name
NotesField.text = latestNote.notes

如果不是这种情况,那么最简单的操作过程就是使用 Realm 执行查询以重新获取您刚刚保存的数据。

如果您没有办法正确区分数据库中的 Dates 条目,可能值得添加一个主键字段。

class Dates : Object {
dynamic var uuid = NSUUID.UUIDString

override static func primaryKey() -> String? {
return "uuid"
}
}

这样,您就可以卡在要显示的对象的主键值上,然后像这样简单地在 Realm 中查询它:

let realm = try! Realm()
let dates? = realm.objectForPrimaryKey(Dates.self, key: "<UUID>")

如果您需要任何说明/跟进,请告诉我!

关于swift - 如何获取刚刚创建的 Realm 条目的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36145766/

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