朧の.Netの足跡
問合せ先:support@oborodukiyo.info サイト内検索はこちら
Swift Table ViewのセルのURLのサイトを開く方法





下記のサンプルコードを見てらえるとわかりますが、Table ViewのActionをclickという名前で追加しています。
引数はNSTableViewにしないとクリックされたセルの位置が分かりません。
やることは簡単なのですが、クリックされた行と列の位置を取得して、データの行(カラムのヘッダーは行が-1です)か、URLの入った列かをチェックして その上でURLを取得して、NSWorkspace.shared.open()で開きます。

            @IBAction func click(_ sender: NSTableView) {
                let iRow = sender.clickedRow
                let iCol = sender.clickedColumn
                //URLの入っているカラムかをチェックする。
                if iCol != COL_URL {
                    return
                }
                //カラムのヘッダーをクリックされるとiRowは-1になるので。
                if iRow < 0 {
                    return
                }
                
                //URLをクリックされたら、デフォルトのブラウザで開く処理
                //myListは、構造体のリストでプロパティにurlを持っています。
                //このやり方だとTable Viewがソートされていると上手くいかないです。
                let tempUrl: String = self.myList[iRow].url
                let myUrl = URL(string: tempUrl)!
                if iCol == COL_URL {
                    //デフォルトのブラウザで開きます。
                    NSWorkspace.shared.open(myUrl)
                }
            }
        








良いやや良い普通やや悪い悪い

投稿日時評価コメント