我正在尝试使用Swift为iOS创建一个应用程序,但遇到了非常基础的问题。
为了保持简单,我只希望应用程序最初是一个带有按钮的单个视图应用程序,并在页面上显示某种列表视图。我相信TableView就是这里推荐的。当我单击按钮时,我只想让它用一些条目填充列表/表视图,就是这样。首先,我不在乎这些条目是否是硬编码的,我只是想让一些工作。
我一直在看不同的样品,但我感到困惑。其中一些人似乎建议使用其他人不使用TableViewController。当我使用tableview控制器时,我创建的UI似乎完全被一个空的tableview列表替换,按钮就消失了。
我以前在Windows手机中开发了应用程序,发现它更容易。我只是添加一个listview对象,并在按钮的单击方法,以编程方式添加项目等。但这是我第一次尝试创建一个iOS应用程序,它似乎更令人困惑。为了做一些非常简单的事情,有代表,控制者和所有看似需要的观点。
有人可以给我一些关于如何将tableview添加到应用程序并通过点击按钮将一些数据加载到其中的基本步骤说明吗?
答案 0 :(得分:0)
确保您清楚视图和视图控制器之间的区别。
iOS使用MVC设计模式(模型视图控制器)。
视图对象向用户显示内容并响应用户交互。
模型对象存储状态数据。
控制器对象驱动应用程序逻辑并在模型和视图之间进行调解。
UITableViewController
是UIViewController的特殊子类,其作用是管理表视图。它有一些额外的支持,使它成为管理表视图的一个很好的选择,但是...有一个烦人的事情。它的设计使它可以管理的唯一视图是一个表视图。如果要在表格视图之外向屏幕添加按钮,标签和其他UI元素,则无法使用UITableViewController
。
我通常做的是创建一个创建表视图控制器,创建一个单独的常规视图控制器,将容器视图添加到常规视图控制器,然后使用embed segue将表视图控制器嵌入到视图控制器中。 (您只需控制 - 从容器视图拖动到表视图控制器。)这样您就可以获得两全其美的效果。您可能希望创建一个表视图控制器将用于与其父视图控制器通信的协议。
您应该能够在线查找有关使用容器视图和嵌入segue将表视图控制器设置为另一个视图控制器的子项的教程。这很容易。