私が取り組んでいるターンベースのマルチプレイヤー ゲームでは、ゲーム情報を格納するGameエンティティを定義しました。各ゲームは、2 人の登録ユーザーの間で行われます。既にUserエンティティを持っていたので、リレーションシップを使用してユーザーをゲームにリンクすることにしました。GameからUserエンティティへのplayer1とplayer2の関係を定義しました。これは、各ユーザーを 2 つのプレーヤー スロットのいずれかに明示的に割り当てたいためです (プレーヤーがセットの一部である対多プレーヤーの関係ではなく)。Userエンティティから Game へのリレーションシップgames もありますユーザーが現在参加しているすべてのゲームを格納するエンティティ。
この方法で逆の関係を設定することはできません。これは、ゲームの関係がplayer1またはplayer2のいずれかの逆でなければならないためです。しかし、Xcode は逆の欠如について不平を言っているので、別の方法で関係をモデル化する必要があるかどうか疑問に思っています。Xcode の警告は次のとおりです。
一貫性エラー: User.games には逆がありません。これは高度な設定です (特定の関係に対して複数の宛先にオブジェクトを配置することはできません)。
と
誤って構成されたプロパティ: Game.player1 には逆が必要です