在Controller中使用MoC,而不是AppDelegate

时间:2014-10-08 19:47:37

标签: objective-c cocoa core-data model-view-controller

我有一个简单的程序,单击窗口上的按钮会触发AppDelegate中的IBAction并向Context添加一个新的managedObject - 这里没有问题,一切正常。

我遇到的问题是当我创建一个MainController来控制窗口时 - 我该如何做同样的事情?我已经完成的一个解决方案是在MainController中实例化一个AppDelegate实例,将窗口上的按钮链接到MainController中的一个IBAction,它调用AppDelegate add方法。这有效,但不确定这是否是最佳方法。

任何想法或建议都将不胜感激。

2 个答案:

答案 0 :(得分:0)

为什么不将managedObjectContextAppDelegate传递到您的MainController。 在AppDelegate方法

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification

IBAction(which adds the object)

中声明MainController.

链接button on the window to this IBAction

这就是我的工作。

答案 1 :(得分:0)

更正您的解决方案:您可以使用简单代码将appDelegate传递给任何控制器,而无需执行任何属性等:

#import "YOURAppDelegate.h"

YOURAppDelegate *appDelegate = (YOURAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate yourMethod];