美文网首页iOS之MAC端开发iOS Developer
Swift3.0 开发macOS应用程序(4) NSArrayC

Swift3.0 开发macOS应用程序(4) NSArrayC

作者: MNode | 来源:发表于2016-12-01 16:06 被阅读255次

    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.png
    2.创建模型Person

    如下图:

    5.png

    Person.swift中,添加如下代码:

    6.png

    然后进入Document.swift文件中,添加一行代码:

    7.png
    3.打开StoryBoard

    在视图控制器中拖入控件,一个NSTableView,二个NSButton,如下图,并双击修改NSTableView 每个column的标题:

    4.png
    4.拖入ArrayController对象到视图控制器中

    设置Class Name,项目名+模型名,也就是所要模型的路径。如下图所示:

    9.gif
    5.添加NSObject对象到视图控制器中

    如下图:

    10.gif

    并设置好类名,也就是Document

    6.设置ArrayController所绑定的数据源
    11.gif
    7.绑定NSTableView的数据源
    12.gif
    8.绑定Table View Cell的数据源
    13.gif
    9.为Add和Remove按钮添加ArrayController中增加和删除功能
    14.gif

    10.运行程序
    如下图所示:

    15.gif

    源码-->:github

    相关文章

      网友评论

      • 苜蓿鬼仙:按照步骤来的,不明白为何一直报第四步的 Class Name 找不到的错误:
        2017-08-21 14:54:41.849596+0800 MacOS-Day04-NSArrayController[16107:331159] [General] Cannot find object class with name MacOS-Day04-NSArrayController.Person
      • Bearger:坑,你这么干的话,Document的init会被调用两次,一次创建两个实例。用的时候还不是同一个。
      • 北漂老莫:功能虽然照着实现了,但是之间的交互逻辑完全搞不懂。。
        MNode::smile: 看不懂没关系,这个用到的不怎么多,可以通过其他方法实现同样的效果。

      本文标题:Swift3.0 开发macOS应用程序(4) NSArrayC

      本文链接:https://www.haomeiwen.com/subject/kewxmttx.html