iPhone开发 - 应用程序设计模式

occ*_*lus 6 iphone design-patterns

关于iPhone的编码有很多资源.其中大多数涉及"我如何做X",例如"设置导航控制器"或"从URL下载文本".一切都好又好.

我现在更感兴趣的是更简单的问题 - 如何最好地构建复杂的用户界面或应用程序,或出现的常见问题.为了说明:一本书像"从iPhone 3发展"将告诉您如何建立一个多视图 - 控制应用程序与其他视图控制器拥有的视图之间切换的顶部"切换"视图 - 控制.好吧,但你只告诉如何做到这一点,并没有什么关于可以按照问题:例如,如果我用自己的模式切换到UINavigationViewController,导航栏结束了在屏幕上得太低,因为UINavigationViewController预期成为最顶级的UIViewController(显然).此外,委托方法(例如与方向变化有关)转到顶部切换器视图控制器,不是负责当前视图的实际控制器.我已经修复了这些东西,但他们感觉像黑客让我不开心,让我觉得我错过了什么.

一个有成效的事情可能是看一些开源的iPhone项目(见这个问题).但除此之外呢?

更新

澄清:我想我所问的可以概括为"iPhone开发的食谱和陷阱".开发人员感兴趣的东西,但我见过的任何iPhone书籍都没有涉及,例如:

  • 我正在编写一个iPad应用程序,并希望在某些时候只向用户呈现一个UISplitViewController ,Apple似乎在说我做不到.可能吗?怎么样?

  • Apple没有给我一种方便,全面的方式来设计我的应用程序的方式(例如字体调整或颜色).如何处理我的应用程序样式?

  • UIViewController方法名称中的一些不一致性使内存管理变得更容易(例如,尽管名称,viewDidUnload 与viewDidLoad 相反).是否有一致的简单方法来整理它并使视图控制器内存管理不易出错?

  • 当内存警告进入时,如何能够始终如一地轻松测试我的视图控制器是否正常运行?在模拟器中模拟内存警告很容易,但如果我要测试的UI正在显示(并且是一个"叶级"视图控制器),它将不会卸载其视图,因为它当前是可见的.

NB我实际上并没有在这里提出上述问题 - 我想我对他们有很好的答案! - 仅举出说明此stackoverflow问题的"好"问题示例.

occ*_*lus 0

据我所知,没有一本书或资源可以解决我正在寻找的高级问题和食谱。存在大量有用的资源,但只是没有解决我正在考虑的问题。