独自のテーブルビューを作成する(1)

独自のテーブルビューを作成する(1)

macOS Mojava 10.14.6 / Xcode 11.3.1 / Swift 5.0
このアプリケーションは、テーブルビューに相当したテーブルの表示機能を NSTableViewクラスを利用することなく、独自に実現することを目指したものである。コンセプトは「簡単な操作でテーブルビューを作る」であり、そのためには必要な機能を絞り、NSTableViewクラスで提供される機能より劣ることもやむなしとする。
ここで実現しているのは「表示」に関する機能である。利用者にはクラスで提供する。
NSTableViewクラスの利用で特に面倒なのは、データの表示にデリゲートを使うことだと思う。この機能では、表示するデータセットは辞書の配列とし、それをプロパティーに設定するだけでデータの表示が行われるようにする。
また、テーブルビューの外観を定義する属性の設定は、なるべく簡単な記述で出来るようにした。NSTableViewクラスの設定よりかなり分かり易くなってると思う。
またカスタムクラスであることから、デフォルト値の設定が容易であり、個々のプロジェクトの標準化の要求に合わせたデフォルトパラメーターの設定が可能となろう。
全体を1章〜 4章に分け、基本的な機能から始まり、応用的な機能を追加するような流れとなっている。
[gridObject1]
画像をクリックすると動画になります。

テーブルデータを表示する

利用者の用意したテーブルデータをそのままテーブビューに表示する。
利用者が行うことは、次の通り。
(1) GridObjectクラスのオブジェクトを作成する。
(2) オブジェクトのプロパティに必要な値をセットするする。
(3) テーブルビューに表示するデーターセットを作成する。
(4) displayメソッドでデータを表示する。

テーブルビューの定義

表、行、列の外観の属性を定義する。表の行とデータセットのレコードを結びつけるための identifire を設定する。

データセットの作成

データセットは、辞書の配列の形式で作成する。辞書のキーは列の identifire と同じ文字列とする

テーブルビューを表示する

引数にデータセットとテーブルビューを表示するビューオブジェクトを指定して displayメソッドを実行する。

GitHub

クラス構造図

GridObjectクラスを構成するクラス群
[class.png]
NewPractice_Swift/12_1_UAGridView_basic