我有一个 NSTreeController (treeController) 和一个 CoreData 数据库。我想要 NSTreeController 所选对象后面的实体。
我用它来获取正确的 NSEntityDescription:
[[[[treeController selectedObjects] objectAtIndex:0] representedObject] entity]
现在我有了 testEntity,我想分配通过上面的代码获得的 NSEntityDescription 描述的实体对象。
MyEntityClass *testEntity;
testEntity = ???
我找不到方法。还有另一种方法可以获取 NSTreeController 所选对象后面的实体对象吗?
谢谢!
最佳答案
通常,当您使用 NSTreeController
来管理 NSOutlineView
时,NSTreeController
的 -selectedObjects
方法应该返回一个 NSManagedObject
实例数组。
您可以使用 NSManagedObject
的 -entity
方法查询这些实例的实体。
但是,您被称为 -representedObject
(不是 NSManagedObject
方法)这一事实意味着您的树 Controller 正在处理某种其他类型的对象。它是什么?你的树 Controller 是如何配置的?如果记录 [[treeController selectedObjects] objectAtIndex:0]
的输出,您会得到什么?
关于cocoa - 如何从 NSEntityDescription 中获取实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6976724/