找到一本书 iPhone SDK Application Development (《AppStore 掘金》),代码全都是手工写的。看了眼它的例子,还真是所有界面相关的内容都在 loadView 中,根本就没有写 View 的子类
那看来,ViewController 虽然名字中带个“controller”,其实是更应该是 MVC 中的 V,包含 View 中的那些 code behind (不知道这个词在 iOS 开发中应该怎么说,在 WPF/Silverlight的世界,就是指对应于 .xaml 文件的 .cs 文件中的内容)。
这样看待 ViewController,那对于简单的不值得单独写一个 View 子类的V (并且也没有 .nib 来画界面),让 loadView 包含各种位置、大小之类的代码也可以接受。我刚又去看了眼我接手的项目,发现:
对简单的要重用的小控键,只有 View 子类;
对复杂的但不重用的大界面,只有 ViewController 子类;
项目中暂时没有找到同时存在对应的 View 和 ViewController。
我想如果有复杂的但是又需要重用的控键,比如 @
wtl 举的 slider 的例子,就应该同时有 View 和 ViewController 吧,当然对于外界调用来说只需知道一个 View。
好了,不纠缠在这些概念上了。虽然还是觉得在一个名为Controller的类中看到大量位置数值的代码,很不符合我的审美,可至少知道了它的原委,换个角度来看也可以理解了。Coding 去啦⋯⋯