我是 OS X 编程的新手,但总体上喜欢它。我有以下问题:
我有两个核心数据实体通过一对多与它们各自的数组控制器(股票控制器和价格历史控制器,后者控制器绑定到股票控制器,控制器键 = 选择和模型键路径 = priceHistory,其中是将股票实体链接到 PriceDataPoint 实体的关系,由价格历史控制器控制。
这一切都像我的 UI 中的魔术一样工作,我可以在其中选择股票并在选择时为每个股票添加/删除价格点。但是,我也需要能够以编程方式执行此操作。
如果我只是
[stockController add:self]
用具有正确默认值的新对象调用 UI 更新,链接到所选股票——即使“自我”不是正确的类/实体。这对我来说是一个困惑点,我不明白(我知道股票控制器通过 KVO 绑定知道所选股票,并且可能会根据需要设置关系,但我不明白它是如何“投射”的''self',这是一个相当随机的类到所需的对象类型(一个普通的NSManagedObject
)?其次,如果我这样做,我如何获得对该对象的引用,以便我可以编辑它的值?然而,更重要的是,如果我随后遵循 Apple 示例,创建一个新的
NSManagedObject
通过NSEntityDescription:insertNewObjectForEntity:
并使用,[stockController addObject:Newly created Object]
我可以在添加它之前编写我想要的值,但是与“父”股票的关系不是由该addObjects:
方法设置的。我相信我也能弄清楚如何写这个,但是 Cocoa 中的其他所有东西都非常优雅,这让人感觉很奇怪,所以我希望这里的人能很快解决这个问题,并为我指出一种优雅的方式。