Swift3.0 开发macOS应用程序(4) NSArrayC
NSArrayController
is a bindings compatible class that manages a collection of objects. Typically the collection is an array, however, if the controller manages a relationship of a managed object (see NSManagedObject
) the collection may be a set. NSArrayController
provides selection management and sorting capabilities.
官方介绍:NSArrayController
在StoryBoard中通过Create Document-Based Application 搭配ArrayController对象,使操作NSTableView非常简单,一行代码都不用写便可以实现增加、删除、插入等功能。
下面我将通过一个实例演示NSArrayController强大的功能。
1.创建工程
勾选Create Document-Based Application,如下图:
1.png进入新建的项目会,会发现多了一个Document.swift文件,这正是勾选Document-Based所创建的文件。里面内容大致如下图:
2.png打开Main.StoryBoard,会发现视图控制器中多了一行文字:“Your document contents here”,删除这行文字简介。
3.png2.创建模型Person
如下图:
5.pngPerson.swift中,添加如下代码:
6.png然后进入Document.swift文件中,添加一行代码:
7.png3.打开StoryBoard
在视图控制器中拖入控件,一个NSTableView,二个NSButton,如下图,并双击修改NSTableView 每个column的标题:
4.png4.拖入ArrayController对象到视图控制器中
设置Class Name,项目名+模型名,也就是所要模型的路径。如下图所示:
9.gif5.添加NSObject对象到视图控制器中
如下图:
10.gif并设置好类名,也就是Document
6.设置ArrayController所绑定的数据源
11.gif7.绑定NSTableView的数据源
12.gif8.绑定Table View Cell的数据源
13.gif9.为Add和Remove按钮添加ArrayController中增加和删除功能
14.gif10.运行程序
如下图所示:
源码-->:github