11

NSTableViewがあり、セルに存在する値を取得したいと思います。列が1つしかないので、行番号が必要です

この[tableViewselectedRow]を使用できますが、これをどこに配置すれば、任意の行の選択時に呼び出されるメソッドにこれを配置したいと思います。

-(void)tableViewSelectionDidChange:(NSNotification *)notification{

NSLog(@"%d",[tableViewController selectedRow]);

}

上記のメソッドも機能しません。エラーが発生します-[NSScrollViewselectedRow]:認識されないセレクターがインスタンス0x100438ef0に送信されました]

iPhoneのテーブルビューで利用できる方法のようなものが欲しい-

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath  {
}
4

6 に答える 6

31

tableViewControllerオブジェクトとは?インスタンスのみがNSTableViewに応答しselectedRowます。notificationのオブジェクト プロパティから現在のテーブル ビュー (通知を送信したビュー) を取得できます。

目的 C:

-(void)tableViewSelectionDidChange:(NSNotification *)notification{
    NSLog(@"%d",[[notification object] selectedRow]);
}

迅速:

func tableViewSelectionDidChange(notification: NSNotification) {
    let table = notification.object as! NSTableView
    print(table.selectedRow);
}
于 2012-05-29T09:57:13.713 に答える