حلقات علاقات CoreData؟

0

لدي كيانين Buildings و GroupOfBuildings :

Building1 لديها: GroupOfBuildings1
Building2 لديها: GroupOfBuildings1

GroupOfBuildings1 لديها: Building1 ، Building2 و Building3

العلاقات:

Building <<----> GroupOfBuildings
Building <<--->> GroupOfBuildings
Building <---->> GroupOfBuildings

Imagen 51


سؤال:

GroupOfBuildings لديه مجموعة من Buildings التي يمكن استخدامها في Buildings ويحتوي أيضا على mainBuildings إشارة إلى Buildings . فوقها، Buildings يحتاج إلى إشارة إلى GroupOfBuildings . هل هذه هي الطريقة الصحيحة لإقامة العلاقات أم أن هناك طريقة أخرى للقيام بذلك؟ يبدو أن تحديد العديد من العلاقات (الحلقات) ليس هو الطريقة التي يجب أن أفعلها. اي نصيحه؟


عينة من الرموز:

let buildingDescription = NSEntityDescription.entity(forEntityName: "Buildings", in: context)!
let building1 = Buildings(entity: buildingDescription, insertInto: context)
let building2 = Buildings(entity: buildingDescription, insertInto: context)
let building3 = Buildings(entity: buildingDescription, insertInto: context)

let groupOfBuildingDescription = NSEntityDescription.entity(forEntityName: "GroupOfBuildings", in: context)!
let groupOfBuildings1 = GroupOfBuildings(entity: groupOfBuildingDescription, insertInto: context)

groupOfBuildings1.mainBuilding = building1
groupOfBuildings1.groupOfBuildings = Set([building2, building3])

building1.groupOfBuildings = groupOfBuildings1
building2.groupOfBuildings = groupOfBuildings1

ملحوظة:

لدي سؤال آخر يستخدم نفس البيانات ، لكن الأسئلة مختلفة.

1 إجابة

1
افضل جواب

يصعب اتباع هذا بسبب التسمية السيئة. أطلق على الأشياء ما هي ولا تجمع أسماء الأشياء. Buildings يجب أن يسمى Building ، GroupOfBuildings المحتمل BuildingGroup ، ما من فكرة تشير إلى "عناصر" ...

ومع ذلك ، لا توجد مشكلة في إنشاء علاقات متعددة بين نفس الكائنات. بإمكانك أن تأخذ buildingGroup.mainBuilding ، buildingGroup.otherBuildings ، buildingGroup.extraBuildings كل شيء على ما يرام ، فقط قم بتسميتها بشكل صحيح حتى تكون منطقية.

:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام