基于窗口的应用程序和基于视图的应用程序有啥区别?

Posted

技术标签:

【中文标题】基于窗口的应用程序和基于视图的应用程序有啥区别?【英文标题】:What is the Difference between Window Based Application and View Based Application?基于窗口的应用程序和基于视图的应用程序有什么区别? 【发布时间】:2011-06-29 14:38:36 【问题描述】:

我正在开发一个新应用程序,当单击主视图中的按钮时,它将保持一个“主视图”通向另一个视图。 我不确定要选择哪个模板作为起点:基于窗口的应用程序或基于视图的应用程序。

有人能解释一下它们之间的区别吗? 在两者之间进行选择时我应该考虑什么?

【问题讨论】:

这是***.com/questions/3368774/…的重复问题 安德鲁,感谢您的参考,但我会很感激一个更具体的答案(如果有人当然愿意......),因为在最初的问题/答案中,在哪些情况下应该不是很清楚选择 2 个不同模板中的哪一个。 【参考方案1】:

在您的情况下,我会使用基于视图的应用程序。窗口和视图的区别在于窗口模板不创建视图控制器类和相关的用户界面文件(.xib)。它只是给你一个空白窗口。在 ios 中只能有 1 个窗口,但该窗口可以显示多个视图。

基于视图的模板完成了基于窗口的模板所做的一切,此外它还创建了一个视图控制器类和该类的 xib 文件。此外,它将第一个视图控制器添加到您的窗口中。在 iOS 中,当您想要显示另一个视图时,您几乎肯定会想要另一个视图控制器类。视图控制器类可以轻松地在自身之上添加额外的视图。

由于 Window 模板为您提供 0 开头,而 View 模板为您提供 1 开头,而您的两个视图最终需要 2,因此从 View 模板开始您的工作量会减少。

【讨论】:

感谢 Andrew,虽然我们正在做这件事 - 你能告诉我为什么在创建基于视图的应用程序时设备系列字段中没有“通用”选项,而在创建基于窗口的应用程序时有一个吗? 这只是模板的设置方式。您仍然可以通过选择项目(Xcode 中的左上角)选择目标,然后在“摘要”选项卡中,将“设备”设置为“通用”,将基于视图的模板转换为通用应用程序。它会询问您是否要添加新的 XiB 文件。只需回答“是”,现在您就有了一个来自基于视图的模板的通用应用程序。 好的,我这样做了,但它添加了“mainWindow-iPad.xib”文件。我在“ViewController.xib”上设计了 UI(应用程序在没有我添加任何代码的情况下运行);我不知道如何将应用程序定向到 iPad.xib。我应该将它定向到“mainWindow-iPad.xib”文件还是应该创建一个“ViewController-iPad.xib”并以某种方式将代码定向到那里以防万一(UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPad)? 这超出了原始问题的范围。我建议您开始一个新问题或查看类似这样的预先存在的问题。 ***.com/questions/6497246/… 我确实发布了另一个问题,但没有得到答案,并认为您可能知道...***.com/questions/6522810/…

以上是关于基于窗口的应用程序和基于视图的应用程序有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

API 和 SOA 有啥区别

iphone分类问题

VF与SQL有啥区别

急!请教各位,基于pca和基于2dpca图像融合有啥区别呢?

基于页面的应用程序和基于视图的应用程序之间的区别

asp.net和ado.net有啥区别?