「Xamarin.MacでのNSTableViewの使い方」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
(Administrator がページ「Xamarin.Mac/NSTableViewの使い方」を「Xamarin.MacでのNSTableViewの使い方」に移動しました)
 
(2人の利用者による、間の3版が非表示)
8行目: 8行目:
  
 
前者は「NSCell」と呼ばれるクラスから派生したクラスを挿入して使う古くからある方法である。
 
前者は「NSCell」と呼ばれるクラスから派生したクラスを挿入して使う古くからある方法である。
出来ることは少ない代わりに手軽に扱えるという利点がある。
+
出来ることは少ない代わりに手軽に扱えるという利点があるが難しいことをしようとすると難しい。
 
Mac OS X 10.10からは非推奨になった。
 
Mac OS X 10.10からは非推奨になった。
  
一方、後者はMac OS X 10.7から使えるようになったもので、一般的な「NSView」の派生クラスなら何でも表の中に配置できるという代物である。
+
一方、後者はMac OS X 10.7から使えるようになったもので、セル1つ1つが一般的な「NSView」の派生クラスという代物である。
 
当然ならがら出来ることに比例して記述量も多くなり複雑になっている。
 
当然ならがら出来ることに比例して記述量も多くなり複雑になっている。
  
37行目: 37行目:
 
== 参考文献 ==
 
== 参考文献 ==
 
{{reflist}}
 
{{reflist}}
 +
 +
[[category: Xamarin.Mac]]

2019年5月22日 (水) 05:12時点における最新版

NSTableViewは使い方がちょっと難しい。 Macってほんとクソだな思う部分である。

使い方[編集 | ソースを編集]

前知識[編集 | ソースを編集]

NSTableViewには「Cell based」と「View based」という2種類のモードがある。

前者は「NSCell」と呼ばれるクラスから派生したクラスを挿入して使う古くからある方法である。 出来ることは少ない代わりに手軽に扱えるという利点があるが難しいことをしようとすると難しい。 Mac OS X 10.10からは非推奨になった。

一方、後者はMac OS X 10.7から使えるようになったもので、セル1つ1つが一般的な「NSView」の派生クラスという代物である。 当然ならがら出来ることに比例して記述量も多くなり複雑になっている。

準備[編集 | ソースを編集]

まずNSTableViewを使うには以下の3種類のクラスを用意する必要がある。

  • NSObject派生
    行に相当するデータを保持するクラス
  • NSTableViewDataSource派生
    上記の行データの配列(コレクション)を管理するクラス。.NET元来のIListインターフェースに似ている。
  • NSTableViewDelegate派生
    行選択などの外部からイベントを受け付けるクラス

以下のようにプロジェクト内に上記3点セットを一括りにしたフォルダを作っておくと管理しやすい。

  • Productsフォルダ
    • Product.cs
    • ProductTableDataSource.cs
    • ProductTableDelegate.cs


関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]