Here is the description:
- Item is abstract entity
- Every Item will have a parentItem relationship (it could be nil)
- BookItem and CategoryItem are child of Item
- CategoryItem will have a childItems relationship
Here is the diagram:

It looks ok for me. But I got two warning messages:
- warning: Misconfigured Property: Item.parentItem should have an inverse
- warning: Misconfigured Property: CategoryItem.childItems should have an inverse
There is no way for me to set the inverse for BookItem because there is no childItems. And I can’t set the inverse for me CategoryItem too. I can’t select parentItem in inverse because it’s in its parent class.
Can anybody suggest what I should do ?
Thanks
You most probably want something like this:

So the easiest way to achieve it is to control+drag from each entity to another in order to create the relationships (that way, XCode creates automatically the inverse relationship as well, so you save yourself one step). For the Item parent/children relationships just control+drag on itself. I hope that this makes sense…
PS. Although I don’t fully understand why you need children on
CategoryItem, since it’s inherited byItemwhich already have such a relationship…