我刚开始使用领域,我认为我已经创建了两个正确的对象。 ColourCategory可以有许多PaletteColour类型的对象
class PaletteColour: Object {
dynamic var name = ""
dynamic var category: ColorCategory?
}
class ColourCategory: Object {
dynamic var name = ""
let paletteColours = List<PaletteColour>()
}
我只是通过创建名称来创建许多类别。 现在,我想添加颜色,PaletteColour的一个属性是它必须有一个按类名链接到Category对象。
我被困在如何使用我的一个类别名称创建PaletteColour对象。
我从这个
开始let realm = try! Realm()
newColour = PaletteColour()
newColour.name = "Red"
// This is where I am stuck
// How do I add a category property that has a name of "Test Category" and linked to the ColourCategory object
newColour.category = ????????????
realm.write {
realm.add(newColour)
}
我相信这很简单,所以任何帮助都会受到赞赏。
答案 0 :(得分:1)
您只需创建ColourCategory
实例并指定给category
属性即可链接颜色和类别对象。
// Create category object named "Test Category"
let category = ColourCategory()
category.name = "Test Category"
// then, assign to `category` propety
newColour.category = category;
realm.write {
realm.add(newColour)
}
您还可以对palleteColours
属性使用“反向链接”机制。如果您使用“反向链接”,则无需管理paletteColours
的反向关系。
class ColourCategory: Object {
dynamic var name = ""
var paletteColours: [PaletteColour] {
return linkingObjects(PaletteColour.self, forProperty: "category")
}
}