我是OS X编程新手,但一般都喜欢它。我有以下问题:优雅地将对象添加到arraycontroller,它本身链接到另一个arraycontroller?
我有两个核心数据实体链接通过一对多与他们各自的阵列控制器(股票控制器和价格历史控制器,其中后者控制器绑定到库存控制器,与控制器密钥=选择和模型关键路径= priceHistory,这是将股票实体链接到价格历史记录控制器控制的PriceDataPoint实体的关系
这一切在我的用户界面中像魔术一样工作,我可以选择股票并添加/删除价格点,当它被选中时,但是,我需要能够以编程的方式进行此操作。
如果我只是简单地调用
[stockController add:self]
,那么用更新的对象具有正确的默认值的新对象,链接到选定的库存 - 即使“自我”不是正确的类/实体。这对我来说是一个混乱,我不明白(我明白Stock Controller通过KVO绑定知道所选股票,并可能根据需要设置关系,但我不明白它是如何投射的'self',这是一个相当随机的类到所需的对象类型(一个普通的NSManagedObject
)?其次,如果我这样做,我该如何获得一个引用回该对象,所以我可以编辑其值?但是,更重要的是,如果我遵循Apple示例,请创建一个新的
NSManagedObject
到NSEntityDescription:insertNewObjectForEntity:
并使用[stockController addObject:Newly created Object]
我可以在添加它之前写入想要的值,但与“父”股关系不是由addObjects:
方法设置的。我相信我也可以弄清楚如何写这个,但是可可的其他所有东西都可以如此优雅,这让人感觉很奇怪,所以我希望有人能够很快地清楚这一点,并指出我这样做的一种优雅方式。
感谢您的回应 - 我在此期间去了-addObject:route,但不必调用-fetch,这可能是因为我在IB中设置了自动更新。 关于你的第一点 - 谢谢。没有这样想过。 – NSSunrider 2010-06-26 19:58:13