可以将我的app委托用作UIViewControllers(MVC)的控制器

时间:2013-03-12 13:49:17

标签: ios objective-c model-view-controller design-patterns uinavigationcontroller

应用程序委托可以作为整个应用程序的所有UIViewControllers之间的粘合剂吗?

我正在创建一个邮件客户端,其导航结构非常像sparrow(和fb等)。第一个屏幕将是一个登录屏幕..这将导致UITableViewController具有famous左侧菜单按钮,如果点击该按钮会显示其他VC下方。

简而言之,现在是我的应用代表正在运行该节目..它是决定是否在首次访问时显示登录屏幕,或默认邮箱及其subviews 。如果我从一个子视图中获取信息,它会将该信息传递给应用程序代理,后者又将其传递给其他视图控制器。

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

1 个答案:

答案 0 :(得分:2)

不建议这样做,但这样做是完全合法的。我通常使用主视图控制器类并完成大部分繁重的工作。请记住,如果您使用的是核心数据,XCode会将大部分自动生成的代码转储到应用程序委托中,因此如果您使用的是核心数据,它可能会有点难以导航。这真的只是个人偏好。如果是我,我仍然会让app delegate执行登录屏幕与主屏幕逻辑,但是将大部分app逻辑放在主屏幕控制器中。