解放区在住氷翠メニュー

これがやりたかった。

swift > 開発

2018-03-12 19:23

LINEで送る

どうも、氷翠です。

前々からMacでアプリケーションを作成するため、ここでちょこちょことプログラムのことを書いていました。
で、割りと進んだのです。

で、途中ですが、つまづいていてなかなか先に進まない部分がありました。で、その部分がようやく。

表組みの1行を選択したときのイベントが知りたい。

ということで、数日かけて調べた結果…

結果、こんな感じ。
まぁ画像はテスト用のプログラムなので、この程度しかやっていませんが。

内容は、表組みの中の一つを選ぶと、そこに表示されている文字が上のテキストフィールドに入力されるというものです。
一見単純なことなんですが、…たぶん今までが楽過ぎたのでしょう。これにたどり着くまで結構かかったw

まず、「class ViewController」のところに「NSTableViewDataSource」を。
表組みの関係から、前にやった表組みのところを思い出してこれを追加。
更に、「NSTableViewDelegate」というものを追加。
おそらく、表組みのコポーネントの機能を拡張するものなんじゃないですかね?

それからいつも通り「programs」という配列変数を先に定義しておきます。

storyboardとつながりをつけるため、「@IBOutlet」で変数を定義。

「viewDidLoad()」の中で、「tv.delegate = self」拡張しますよっていうのを宣言しているんじゃないだろうか?
でもこれがなかったら、動きません。

下の方で、表組みにセルを追加していくための関数を用意します。
これについては前にやったことを思い出しています。

問題は次の関数の部分です。

これが値が変化したときのイベントです。
単にクリックだけなら、クリックイベントで十分なんですが、今回の場合は、十字キーで選択している部分が変化した場合も想定しているので、これでないといけません。

これで無事にテストができたので、先に進める!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です