实战需求
SwiftUI macOS 如何使用TableView制作多列表格,并且实现内嵌TextField,实现数据采集。
本文价值与收获
看完本文后,您将能够作出下面的界面
基础知识
NSTableView
一组相关记录,显示在代表单个记录的行中和代表那些记录的属性的列中。
class NSTableView : NSControl
使用教程
表格视图以滚动视图显示。从macOS v10.7开始,您可以使用NSView对象(最常用的自定义对象)代替单元格来指定行和列。如果愿意,您仍可以为每个行和列项目使用对象。
表视图不存储自己的数据;它根据需要从具有弱引用的数据源中检索数据值。因此,您不应在表视图中以编程方式直接设置数据值。而是,修改数据源中的值,并使更改反映在表视图中。
要自定义表视图的行为而不进行子类化,请使用协议定义的方法。例如,委托支持表列管理,类型选择功能,行选择和编辑,自定义跟踪以及单个列和行的自定义视图。
重要,如果在Interface Builder中指定了数据源,则可能会先调用用于填充表格视图的数据源方法。您应该通过在尚未配置数据源的情况下使数据源的方法返回行数来进行防御。在中,当数据源初始化时,您应该始终在表视图上调用。