iOS - 设计iOS应用程序时的良好做法?

时间:2011-11-05 01:41:42

标签: uiview uiviewcontroller

假设您正在开发ipad应用程序,并且在1页中您想要显示不同的数据。 在页面底部,您想要显示一些您希望与页面其余部分分开的信息吗?

问题:

  • 你会在网页的那一部分使用UIViewController或UIView的子类吗?
  • 在UIView中有太多的逻辑是不好的做法?

我问这个问题是因为我在单元测试代码时遇到了很多问题。 UIViewController很容易测试,因为它不需要加载UIView,但UIView是不可测试的,除非它被完全加载(在我的情况下从nib文件加载)

1 个答案:

答案 0 :(得分:2)

这是我的两分钱

1)首先,我会尝试使用其中一个非常精美的iPad控制器(特别是拆分视图控制器)。或者,我会使用一个自定义的UIViewController,为你想要的两个部分提供单独的视图。

2)哦,伙计,这是一个很大的问题:在UIView中有太多的逻辑是不好的做法?您必须始终谨慎使用面向对象;将您的设计拆分为类并正确使用继承/组合以避免无法管理的代码。不要忘记苹果通过MVC友好帮助你做到这一点。

首先,在UIView中使用错误的逻辑是不好的做法。如果你最终存储应该属于模型的状态,你将种植一些麻烦的种子。只是不要这样做。这里的问题不是逻辑的多少,而是逻辑的类型......请记住,控制器应该使用视图,并在设计时牢记这一点。

其次,只要具有特定目的,您的观点就很复杂。 Apple的UITableView是一个非常复杂的视图的例子,但使用它是相对简单的,因为它(在我看来)设计正确。请注意,tableview不存储任何数据......它从数据源获取所有数据。此外,它的目的是在单元格中显示数据。如果您模仿这些良好实践,复杂视图仍然可以管理。

最后,如果您决定制作复杂的视图,请使用合成来获益。我可以继续,但简短的版本是,如果你使用oop来保持你的代码有条理,很多逻辑就更容易管理。