开发者

How to bind NSTreeController's Children to Core Data ordered to-many-relationship?

开发者 https://www.devze.com 2023-03-27 21:19 出处:网络
Apple introduced ordered to-many-relationships in Core Data in Lion. I created an entity named TreeNode with an 1:1-object-relation, a 1:1-parent-relation and an o开发者_如何学Pythonrdered to-many-rel

Apple introduced ordered to-many-relationships in Core Data in Lion. I created an entity named TreeNode with an 1:1-object-relation, a 1:1-parent-relation and an o开发者_如何学Pythonrdered to-many-relationship children.

Then I have an NSTreeController with the children key path set to TreeNode.children. Running the application only shows first level elements. So children is not working. Since children is an ordered to-many-relationship, the corresponding class has an NSOrderedSet children. I added a custom method

- (NSArray *) childrenArray {
  return [children array];
}

to TreeNode which works. I could not find any documentation concerning that topic. Is it really the way to go when binding NSTreeController to an ordered to-many-relationship? Thanks in advance.


It seems that Apple gave us ordered sets for Core Data but forgot to upgrade its binding controllers. One year later after your question, the problem is still there.

Have a look at:

https://github.com/robertjpayne/DDOutlineView

Moral of the story. Be careful when using ordered relationships, try to do your own implementation until Apple fully implements that feature

0

精彩评论

暂无评论...
验证码 换一张
取 消