2011-08-08 49 views
0

我有一個NSTreeController(treeController)和一個CoreData數據庫。我想要在我的NSTreeController的選定對象後面的實體。如何獲得一個NSEntityDescription實體

我用這個來得到正確的NSEntityDescription:

[[[[treeController selectedObjects] objectAtIndex:0] representedObject] entity] 

現在我有我的testEntity,我想可以指定由NSEntityDescription我用上面的代碼獲得所描述的實體對象。

MyEntityClass *testEntity; 
testEntity = ??? 

我找不到方法。是否有另一種方法來獲取NSTreeController的選定對象後面的entityObject?

Thx!

回答

1

通常,當您使用NSTreeController來管理NSOutlineViewNSTreeController‑selectedObjects方法應該返回NSManagedObject實例的數組。

您可以使用-entity方法NSManagedObject來查詢這些實例的實體。

但是,您稱爲-representedObject(而不是NSManagedObject方法)的事實意味着您的樹控制器正在處理某種其他類型的對象。它是什麼?你的樹控制器是如何配置的?如果你記錄[[treeController selectedObjects] objectAtIndex:0]的輸出,你會得到什麼?

+0

Thx。我可以通過其他方式解決這個問題。我回來與[[treeController selectedObjects] objectAtIndex:0]是一個自定義樹節點。這可能就是爲什麼它不這樣工作。 – Daniel