那么,“没有得到它”太苛刻了;我已经在为我的逻辑设置工作了,但它似乎并不是iOS认为合乎逻辑的东西。所以我没有得到什么。iOS布局;我不明白
假设我有一个显示两条信息的应用程序;一个日期和一张桌子。根据MVC的方法,我有三个MVC在这里工作,一个是日期,一个是桌子,一个是将这两个MCV组合起来,并将它们组装成一个屏幕,然后将它们连接起来。
主MVC知道如何/在哪里想布局两个子MVC的。每个细节MVC仅在主MVC指定的范围内照顾自己的孩子。喜欢的东西:
- (void)loadView {
MVC* mvc1 = [[MVC1 alloc] initwithFrame:...]
[self.view addSubview:mvc1.view];
MVC* mvc2 = [[MVC2 alloc] initwithFrame:...]
[self.view addSubview:mvc2.view];
}
如果上述逻辑(这是对我来说),那么我会想到的任何MVC类有一个构造函数“initWithFrame”。但是一个MVC不会,只有观点有这个。
为什么?
如何正确布局嵌套的MVC? (当然,我不是只有这两个,但是细节MVC再次具有子MVC。)
感谢所有人的回复。我将研究提供的链接。
让我试着再次解释我的问题,希望能够更清楚地说明问题。请注意,我已经发现我的视图与iOS不匹配,因为我不喜欢我的代码在哪里。
是的,我调用了一个“MVC”UIViewController,因为它目前为我实现了MVC的所有方面;它具有控制器代码和嵌入式视图,并且控制器通常也包含并提供数据(所有TableView示例都是这样实现的)。
MVC可以出现在许多层面;基本上一个UITextField可以(应该)成为一个MVC;有一种观点,但也包括控制器逻辑,你不想与其他代码混合。封装。例如:Java的Swing JTextField有一个MVC。那么JTable,JList ......多个MVC模式嵌套在其他MVC中来构建整个屏幕。
这是我所期望的,当一些平台说它使用MVC模式。所以当我编写表格时,我创建了一个MVC,并且只发送一个日期作为参数的loadData消息。它需要自己照顾休息。我有一个可以滑入的Detail MVC;然后我告诉它它需要显示的对象,并且它需要自己照顾其余部分。封装。
所以我有很多UIViewControllers嵌入UIViews。这不是做这件事的方法......
什么是你正在谈论的这个** MVC **对象?你是指UIViewControllers? – 2011-01-13 15:20:04