あなたは、このような、その目的のためにレルムのlinkingObjects機能を使用することができます。
class Company:Object {
dynamic var companyName = ""
let employees = List<Employee>()
}
class Employee:Object {
dynamic var name = ""
dynamic var age = ""
var company: Company? {
return linkingObjects(Company.self, forProperty: "employees").first
}
}
このアプローチはあなたに正確なあなたのEmployeeオブジェクトのにcompanyNameプロパティを維持する努力を節約し、会社がここに格納されていないので、それはまた、あなたのスペースを節約。あなたはこのように簡単にあなたの従業員の会社オブジェクトを取得することができ、このパスを選択した場合:
let aCompany = someEmployee.company
そして答えるために、あなたの質問
ていない場合はどのように(これは、従業員がどの会社に関連付けられていない場合はnilを返します)クエリ内の特定の会社に所属する従業員を参照します。
あなたがそのリストemployees
に当社の従業員を保存するので、あなただけの会社に所属する従業員を取得するには、このようにそのプロパティを使用することができますので、あなたはすでに、これを行う方法があります。
let aCompanysEmployees = someCompany.employees
offtopic :良いデザインのためにはcompanyNameではなく名前でなければなりません。なぜならあなたは既に企業オブジェクトの中にいて、その属性が会社に属していることを誰もが知っているからです。 – Xatenev
*必要ですか?*あなたが決める。あなたは後でそれを必要とすることができますか?リレーショナルな方法でデザインを考えた場合は役に立ちます。どの共通の属性を共有すべきかを知る。 –
@Xatenev同じ名前を持つ方が良いです。それを外部キーと考えてください。 –