1

应用程序委托可以用作整个应用程序的所有UIViewControllers之间的粘合剂吗?我的应用程序委托可以用作UIViewControllers(MVC)的控制器

我正在创建一个非常像sparrow(和fb等)的导航结构的邮件客户端。第一个屏幕将是一个登录屏幕..然后这将导致一个UITableViewControllerfamous左菜单按钮,如果点击,其他VC下面。

要长话短说,现在它是我的应用程序委托,它正在运行该节目..它是决定是否在第一次访问时显示登录屏幕,还是默认邮箱及其subviews。如果我从一个子视图获取信息,它会将该信息交给应用程序委托,然后将其传递给其他视图控制器。

从MVC的角度来看,这是正确的吗?我知道一个应用程序委托是第一个联系人,它是启动应用程序的东西,但我没有看到它广泛使用。我只想确定我是否在这里遵循iOS MVC最佳实践。

+0

不,这不是一个好主意。应用程序委托是放置通知,库初始化的代码的地方,但没有别的!使用storyboard和其他更新的objective-c功能来管理您的控制器层次结构。 – 2013-03-12 14:02:03

+0

不是完整的重复,但在这里回答http://stackoverflow.com/q/9213134/97337和这里http://stackoverflow.com/a/829591/97337(和简短的回答是不,这是不正确的MVC ) – 2013-03-12 14:08:37

+0

我在ontop上创建了一个旧故事板时代的图书馆..它有50个xibs ..将所有内容转换为故事板将成为一个新的项目。你可以更具体地介绍objective-c的其他新特性吗?希望我仍然可以使用一个基于xib的项目.. – abbood 2013-03-12 14:10:37

回答

2

不建议这样做,但这样做完全合法。我通常使用主视图控制器类,并在其中完成大部分重要工作。请记住,如果您正在使用核心数据,XCode会将大部分自动生成的代码转储到应用程序委托中,因此如果您使用的是核心数据,XCode会导致一些难以导航的情况。尽管如此,这实际上只是个人偏好。如果是我,我仍然会让应用程序委托执行登录屏幕与主屏幕逻辑,但将大部分应用程序逻辑放在主屏幕控制器中。

+0

为downvoter:你能解释为什么你认为这个答案值得downvote? – abbood 2013-03-12 14:02:04

+1

是的,我可以。原因在于,使用应用程序代表获取大量胶水代码会使维护困难,草率代码,应该使用故事板或其他设计模式。 – 2013-03-12 14:02:34

+0

@ RichardJ.RossIII我确实向OP推荐过这样做。再次阅读我的答案。我甚至提到我自己将代码分开,但我只是在评论,如果有人坚持这样做,它不会破坏任何东西,这不是我(或者显然你)会这样做的方式。 – JiuJitsuCoder 2013-03-12 14:06:07

相关问题