应用程序开发:总是子类,总是从NIB加载 - 警告?

时间:2010-06-08 10:03:57

标签: iphone cocoa-touch generics

这是Cocoa Touch(等),iPhone,XCode。

在完成我的第一个商业iPhone应用程序之后,我正在努力寻找一种方法来从头开始和扩展应用程序,这提供了最线性的开发(即,最少的报废,重写或重新组织代码,类和资源)随着应用程序规范的变化而变化,我学到了更多(主要是关于Cocoa Touch和其他类和组件的设计能力以及定制的限制)。

因此。文件,新项目。基于空白窗口的应用?如果需要,使用.xib创建我需要的控制器,这样我就可以对它们进行本地化并在IB中进行客户请求的更改?然后总是将每个类子类化,除了那些极不可能定制的类别? (我的意思是框架类,如UIButton,CLLocation等。)

这个问题是一个通用的“方法”类型问题,所以我很乐意听听你发现的方便的开发实践。您是否有任何关于您发现哪些“可重用组件”在后续项目中变得非常有用的提示?

客户经常根据“首先出现此屏幕”描述程序,然后您可以单击此按钮,然后在新屏幕上可以选择......(依此类推)'条款。是否有任何良好的指南可以从那里到重要的早期应用程序构建选择,即“功能 - 功能 - 视觉描述到开放式应用程序架构”?

例如,在我的应用程序中,我从NavBar,带有项目的工具栏,到带有两个自定义子视图的工具栏,以适应功能 - 功能 - 视觉描述。也许你也做过这样的事情并提出一些建议?

我也在寻找开放式方法来在控制器之间共享大型(“加载数据”)对象,甚至是简单的布尔值,并在另一个控制器中调用方法,特别是启动动画和加载等过程(例如:trigger)在确保在第一个选项卡视图控制器中启动动画后,第二个选项卡视图控制器中的URL加载,因为这两个功能适用于您提倡的应用程序体系结构构建方法。

任何方便的指针都表示赞赏。谢谢你们。

1 个答案:

答案 0 :(得分:0)

关闭这个,因为没有一个正确答案,更适合其他论坛,我知道它存在时,我问:)

如果你想知道我最终得到的方法,基本上就是这样:

  1. 基于窗口的空白应用
  2. 导航控制器控制所有,无论是否需要(不使用时隐藏)
  3. 标签栏控制器(如有必要)
  4. 连接所有内容< - 无用,我知道。
  5. 设置并检查自动旋转,稍后可能会将其添加到某个视图中。
  6. 为每个视图添加一个带xib的viewcontroller,你永远不知道他们什么时候想要一个额外的按钮。复制代码比制作所有列表导航等的max ultra superdynamic可调节tableviewcontroller更容易。
  7. 仅在内容不同时重新使用视图控件,例如详细视图控件。
  8. 通过编写函数和方法将每个视图控制器中的代码最小化,并将它们放在共享的.m中。
  9. 除了子类化的东西之外,所有共享内容都会在App委托中结束。
  10. 模态视图控制器始终是动态创建的,永远不会有xib。