iOSアプリケーションは、2つのコアデータエンティティ(従業員と部門)でうまく機能しています。 私は1つのUITableViewControllerを持っています。これはNSFetchedResultsControllerDelegateで、Employeesとそのデータを表示し、もう1つはDepartmentsとそのデータを表示します。コアデータと多対多
どのように私は理解するのが苦労していますの関係を追加します。 (データモデルのグラフビューを使用して)リレーションシップを作成する方法を理解していますが、実際のリレーションシップを追加するための良い情報はありません。
標準のSQLデータベースでは、DepartmentIDとEmployeeIDの列を使用して相互参照テーブルをリンクします。しかし、それはコアデータでは適切ではないようです。
Swiftでエンティティリレーションシップを追加するにはどうすればよいですか?
let employeeBob: Employee = ...
let departmentHR: Department = ...
employeeBob.mutableSetValue(forKey: "departments").add(departmentHR)
その後、あなたが要求してemployeeBob.departmentsでボブの部署にアクセスしたり、departmentHRを要求することにより、HRの従業員を取得することができます:
「HR」部門と従業員「Bob」がある場合、「HR」部門に「Bob」を追加する方法を質問しています。よく)? – ghostatron
@ghostatronはい、まさに。 (もちろん、HRのすべての従業員とBobが関連付けられているすべての部門を見つける方法) –
私はそれが嫌いですが、私が見つけた唯一の方法は、employeeBob.mutableSetValue(forKey: "departments")。add(hrDepartment)。それはあなたのための逆の更新を処理する必要があります。その後、hrDepartmentを持つセットを取得するためにemployeeBob.departmentsを呼び出すことができます。 – ghostatron