我使用此代码创建领域条目,并且工作正常。
let new = Exercises()
new.name = new_name
new.notes = new_notes
try! RealmDB.write({ () -> Void in
self.selectedDate.exercises.append(new)
})
只要在领域数据库中创建了条目,我就需要使用该条目的值更新几个uitextfields。
NameField.text = String(XXXXX.name)
NotesField.text = String(XXXXX.notes)
我无法为该XXXXX找到合适的代码。如果你有什么想法,请告诉我。
简化领域结构如下所示。
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;
}
}
答案 0 :(得分:2)
如果您的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>")
如果您需要任何澄清/跟进,请与我们联系!