@LATA-apple

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

SegmentedControl&TableViewの値渡し

解決したいこと

Segmented ControlでTableViewをいくつか用意したのですがTableViewCellをタップしたときに選択したセルの値を次の画面に渡したいのですが、どうしたらよろしいでしょうか?
独学でプログラミングを始めて1ヶ月ほどなのでわかりやすく解決方法を教えてくださると嬉しいです。

該当するソースコード

import UIKit

class SupportContent_ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return currentList.count
        }

        func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
            ///セルの構築
            let cell = tableView.dequeueReusableCell(withIdentifier: "Content", for: indexPath)
            //セルのテキストラベルにindexPath.row番目の配列の要素を入れる
            cell.textLabel?.text = currentList[indexPath.row]
            //複数行の文章を表示
            cell.textLabel?.numberOfLines=0
            //UITableViewCell型を返す
            return cell
        }

        //表示する配列
        var alllist = ["画面の最大輝度が極度に低下",//1
                       "容量不足でアップデートができない",//2
                       "使っていると、勝手に再起動をしてしまいます。",//3
                       "使おうとしたら接続できなくなった",//4
                       "ワークアウトが正確に記録されない",//5
                       "リンゴループが止まらない",//6
                       "ヘルスケアアプリの動作が不安定",//7
                       "パスワードが入力できなくなる",//8
                       "タッチパネル不具合。反応しない時がある。",//9
                       "アプリが入らなくなった",//10
                       "アップデートしてからバッテリーの減りが早い。",//11
                       "Lightning toHDMIケーブルで一部のサービスで音声のみで映像が映らない",//12
                       "iPhone内のwatchアプリが起動できないバグ",//13
                       "iPhoneの物理ボタンがおかしい",//14
                       "iMessageで受信したメッセージが正しく表示されない",//15
                       "Apple Watchの電源が突然落ちる",//16
                       "通知が来てwatchは振動するが、画面の表示が文字盤から変わらない。",//17
                       "翻訳アプリのオフライン用がモバイル通信だとダウンロードできない。",//18
                       "文字入力ができない(ロック解除時は可能)",//19
                       "ユーザー辞書で登録した単語が候補に挙がらない",//20
                       "パワーポイントで暗号化したファイルが解凍できない。",//21
                       "ソフトウェア(iPadOS14.3)の不具合でMagic Mouseやスリープ機能に不具合が発生した",//22
                       "スクリーンタイムにバグ",//23
                       "オンラインアクセスの全てにおいて遅い、無応答になる。",//24
                       "TVアプリで複数の不具合の発生",//25
                       "Safariを使用する際にある程度の時間が経過すると勝手にリロードされてしまう",//26
                       "Mail.appのメールリストでフラグが表示されない",//27
                       "Macで入力した予定がiPhoneに反映されない",//28
                       "iPhone(iPad)ストレージ その他 が大きくなりすぎる",//29
                       "iOS14の日本語テンキーIMEにおいて「キー入力」と「予測変換バー」に差異が出る",//30
                       "Hey Siriでの初期の応答音声が聞こえない",//31
                       "AppleMusicのバックグラウンドバッテリー消費量がとても多い",//32
                       "App Storeの「アカウント」→「購入済み」から右にスライドし、「非表示」にしても繰り返し表示されてしまう",//33
                       "心電図アプリ(ECG)が正常に動かない?使えない?(iOS14.4/WatchOS7.3)「”心電図”Appのアップデートはこの国/地域では使用できません。」問題",//34
                       "iOS/iPadOSアプリ実行時の注意事項(キャッシュとタスクキル)について Apple Silicon",]//35

        var Mac = ["iMessageで受信したメッセージが正しく表示されない",//1
                   "Macで入力した予定がiPhoneに反映されない",//2
                   "Mail.appのメールリストでフラグが表示されない",//3
                   "文字入力ができない(ロック解除時は可能)",//4
                   "iOS/iPadOSアプリ実行時の注意事項(キャッシュとタスクキル)について Apple Silicon"]//5

        var iPad = ["iMessageで受信したメッセージが正しく表示されない",//1
                    "タッチパネル不具合。反応しない時がある。",//2
                    "TVアプリで複数の不具合の発生",//3
                    "iPhone(iPad)ストレージ その他 が大きくなりすぎる",//4
                    "AppleMusicのバックグラウンドバッテリー消費量がとても多い",//5
                    "Safariを使用する際にある程度の時間が経過すると勝手にリロードされてしまう",//6
                    "App Storeの「アカウント」→「購入済み」から右にスライドし、「非表示」にしても繰り返し表示されてしまう",//7
                    "Lightning toHDMIケーブルで一部のサービスで音声のみで映像が映らない",//8
                    "ユーザー辞書で登録した単語が候補に挙がらない",//9
                    "ソフトウェア(iPadOS14.3)の不具合でMagic Mouseやスリープ機能に不具合が発生した",//10
                    "オンラインアクセスの全てにおいて遅い、無応答になる。"]//11

        var iPhone = ["iOS14の日本語テンキーIMEにおいて「キー入力」と「予測変換バー」に差異が出る",//1
                      "iMessageで受信したメッセージが正しく表示されない",//2
                      "Macで入力した予定がiPhoneに反映されない",//3
                      "アップデートしてからバッテリーの減りが早い。",//4
                      "TVアプリで複数の不具合の発生",//5
                      "ヘルスケアアプリの動作が不安定",//6
                      "iPhone(iPad)ストレージ その他 が大きくなりすぎる",//7
                      "Hey Siriでの初期の応答音声が聞こえない",//8
                      "AppleMusicのバックグラウンドバッテリー消費量がとても多い",//9
                      "パスワードが入力できなくなる",//10
                      "画面の最大輝度が極度に低下",//11
                      "Safariを使用する際にある程度の時間が経過すると勝手にリロードされてしまう",//12
                      "App Storeの「アカウント」→「購入済み」から右にスライドし、「非表示」にしても繰り返し表示されてしまう",//13
                      "Lightning toHDMIケーブルで一部のサービスで音声のみで映像が映らない",//14
                      "iPhone内のwatchアプリが起動できないバグ",//15
                      "iPhoneの物理ボタンがおかしい",//16
                      "iPhone内のwatchアプリが起動できない",//17
                      "スクリーンタイムにバグ",//18
                      "翻訳アプリのオフライン用がモバイル通信だとダウンロードできない。",//19
                      "パワーポイントで暗号化したファイルが解凍できない。",//20
                      "ユーザー辞書で登録した単語が候補に挙がらない",//21
                      "iOS/iPadOSアプリ実行時の注意事項(キャッシュとタスクキル)について Apple Silicon",//22
                      "ソフトウェア(iPadOS14.3)の不具合でMagic Mouseやスリープ機能に不具合が発生した",//23
                      "オンラインアクセスの全てにおいて遅い、無応答になる。",//24
                      "心電図アプリ(ECG)が正常に動かない?使えない?(iOS14.4/WatchOS7.3)「”心電図”Appのアップデートはこの国/地域では使用できません。」問題"]//25

        var AppleWatch = ["容量不足でアップデートができない",//1
                          "使っていると、勝手に再起動をしてしまいます。",//2
                          "ワークアウトが正確に記録されない",//3
                          "リンゴループが止まらない",//4
                          "アプリが入らなくなった",//5
                          "iPhone内のwatchアプリが起動できないバグ",//6
                          "Apple Watchの電源が突然落ちる",//7
                          "通知が来てwatchは振動するが、画面の表示が文字盤から変わらない。",//8
                          "心電図アプリ(ECG)が正常に動かない?使えない?(iOS14.4/WatchOS7.3)「”心電図”Appのアップデートはこの国/地域では使用できません。」問題",]//9

        var AirPods = ["使おうとしたら接続できなくなった",]//1


    @IBOutlet var label: UILabel!
    @IBOutlet var table: UITableView!
    @IBOutlet var segmentedControl: UISegmentedControl!
    var currentList: [String] {
        switch segmentedControl.selectedSegmentIndex {
        case 0:
            label.text = "全35コンテンツ"
            return alllist
        case 1:
            label.text = "全5コンテンツ"
            return Mac
        case 2:
            label.text = "全11コンテンツ"
            return iPad
        case 3:
            label.text = "全25コンテンツ"
            return iPhone
        case 4:
            label.text = "全9コンテンツ"
            return AppleWatch
        case 5:
            label.text = "全1コンテンツ"
            return AirPods
        default:
            return alllist
        }
}

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        if currentList == alllist {
            print(alllist[indexPath.row])
        }

        if currentList == Mac {
            print(Mac[indexPath.row])
        }

        if currentList == iPad {
            print(iPad[indexPath.row])
        }

        if currentList == iPhone {
            print(iPhone[indexPath.row])
        }

        if currentList == AppleWatch {
            print(AppleWatch[indexPath.row])
        }

        if currentList == AirPods {
            print(AirPods[indexPath.row])
        }

        // セルの選択を解除
        tableView.deselectRow(at: indexPath, animated: true)

        // performSegue(withIdentifier: "toTestView", sender: nil)
    }

        override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.

        table.dataSource = self
        table.delegate = self

        segmentedControl.addTarget(self, action: #selector(handleSegmentedControlSelected(_:)), for: .valueChanged)
    }

    @objc private func handleSegmentedControlSelected(_ sender: UISegmentedControl) {
        table.reloadData()
    }

}

自分で試したこと

検索してみましたが方法が見つからず、現在に至ります。

0 likes

No Answers yet.

Your answer might help someone💌