Day: April 2, 2016

Swift:あらま!target/action?

カラムの文字列を直接修正する方法は?

view basedの場合、target/actionを使わないといけません。どう書けばいいのか、今から調べます。

結果:検証中???

  1. @IBActionで受ければいい。
  2. 当該カラム(NSTextField)をeditableにする。

追記(4/7/2016):

  • ひとつは、マナー(作法)の問題でした。たとえば、行を選択する。そして削除する。
    ➡️行の削除・複数行の削除は解決できました。
  • もうひとつは、NSMenuの使い方に問題があるようです。使い方がまちがっているか、その機能では実現できないか。
    ➡️いろいろやって思うように行きませんでした。他の箇所のバグが取れ、機能追加もだいぶ進んだので、もう一度取り組みます。

なお、cell basedも次のように書き方が変わっています。

func tableView(tableView: NSTableView, setObjectValue object: AnyObject?,  forTableColumn tableColumn: NSTableColumn?, row: Int) {

 

Swift:行(row)の選択

NSTableViewの行を選択する必要が出てきました。

Objective-CのときselectRowを使っていたような気がしたので調べたらselectRowIndexesでした。

使い方は次の通り。

xTableView!.selectRowIndexes(NSIndexSet(index:inx), byExtendingSelection:false)

以前との違いは、記憶がたいへん曖昧なのですが、NSIndexSetで行位置を指定する点と複数行選択をするかどうかBoolで指定する点です。