2011-11-03 42 views
0

我正在使用Xcode 4.1,升级到4.2后,事情开始变得过时。我使用了很多来自不同书籍的例子,例如Big Nerd Ranch Guides,它们不使用Storyboard并且基于Windows的应用程序已被更改为“Empty”应用程序。我应该将我的大部分代码写入控制器还是代理?

随着这些新的变化,我觉得我曾经使用的书籍和教程已经过时。在这些例子中的许多例子中,他们说要在4.1的委托头文件中写入方法和变量。使用新的4.2 Xcode,有一个AppDelegate和ViewController。我仍然应该在AppDelegate中编写方法和类成员,还是现在应该将它们写入Controller文件?

我很困惑。苹果现在是否希望我们创建我们的控制器并通过委托来引用它?

回答

1

当您的应用程序运行时,它会创建一个UIApplication的实例。你想知道只有UIApplication对象知道的事情(我们是否切换到背景?我们刚打开?),所以你使用委托模式来获得它。当您开始一个新项目时,Apple会使用已分配的App Delegate启动您。您可以打开MainWindow.nib并检查您的App Delegate,看看它是如何连接到您的UIApplication实例(在这种情况下是File's Owner)。

一般而言,您只想将代码放在那里,与您的应用程序的基本功能有关。启动,退出,进入后台,进入前台时,您将在App Delegate中进行操作。

其他所有事情都应该放在您的视图控制器或模型对象中。由于'委托'只是一种设计模式,因此您的视图控制器可以是其他对象的委托。例如,如果您提供了UITableView,您将在委托时分配视图控制器以响应选择和滚动等事件。你的应用有很多代表,但它只有一个App Delegate。

0

AppDelegate真的只是您的应用程序的“启动器”。即:你根本不应该写很多代码。

如果您关心的是“设置”代码,请在您的视图控制器中的viewDidLoad下执行。

相关问题