2014-12-11 75 views
0

来自PHP/MYSQL背景的IOS newb。ios /筛选表的最佳实践 - 一个视图控制器或多个

我有两个非常相似的页面视图,仅在返回不同记录集的查询参数方面有所不同。由于记录不同,我也想给页面不同的标题。这个问题在我的项目中出现过多次,但其中一个例子是一个页面用于返回发送的邮件和收到的其他邮件。

数据来自后端服务器通过json Web服务。

对于使用PHP/MYSQL的网站,我强烈倾向于拥有一个页面,并且只是基于查询参数返回不同的标题和记录。

问题:

在Xcode中/ IOS我应该使用一个表视图控制器为当前页或单独的表的视图控制器。

我倾向于两个,因为这两个页面占据导航层次结构中的不同位置。然而,除了标题外,这些页面非常相似,它们显示和分离的视图控制器似乎违背了不重复代码的原则。

感谢您的任何建议。抱歉我的问题不包括代码示例..它更多地理解IOS应该如何工作的最佳实践。

谢谢。

回答

1

您提出问题的方式的问题在于,在您的脑海中,您似乎没有在做面向对象的编程。请区分“不同视图控制器”和“不同视图控制器”之间。如果这些接口在接口中占据不同的位置,或者甚至是相同的地方,但一个过渡到/被另一个替换,则它们必须是不同的视图控制器。但他们当然可以是相同的视图控制器(或相同视图控制器类的子类)的实例,并且可能应该是。

+0

例如,请参阅我的蛋白应用程序(免费,只需下载并观看)。它有三个界面 - 用于显示你的相册,你的有声读物和你的播客。非常类似于您的相同数据进行不同过滤。这是一个视图控制器类的三个实例。 – matt 2014-12-11 01:48:05

+0

所以也许子类表视图控制器的类有所有必要的代码来拉和显示表,然后创建它的不同实例? – user1904273 2014-12-11 01:49:29

+0

_Exactly._你刚刚说的恰恰是iOS编程中的标准操作过程。在蛋白中,这正是我所做的;不同实例的行为是_slightly_不同,所以我有一个“类型”实例变量,这些差异取决于切换。 – matt 2014-12-11 01:50:27