質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

2001閲覧

UITableViewのセルの値を画面遷移時に受け渡したい

sunglass

総合スコア303

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

1クリップ

投稿2020/05/21 07:47

編集2020/05/21 07:47

カスタムセルを用意→ViewControllerに表示→セルタップ→EditViewController.swiftに画面遷移するところまでは出来たのですがカスタムセルクラスのTodoNumberをEditViewControllerに渡せません。。

画面遷移での値はの受け渡しはprepareを使い下記の方法ではダメなのでしょうか・・・。

CustomCell

1import UIKit 2 3class CustomCell: UITableViewCell { 4 5 @IBOutlet weak var TodoNumber: UILabel! 6 @IBOutlet weak var TodoTitle: UILabel! 7 8 override func awakeFromNib() { 9 super.awakeFromNib() 10 // Initialization code 11 } 12 13 override func setSelected(_ selected: Bool, animated: Bool) { 14 super.setSelected(selected, animated: animated) 15 16 // Configure the view for the selected state 17 } 18 19}

ViewController

1... 2// セルの数 3 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 4 return itemList.count 5 6 } 7 8 9 // セルの中身 10 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 11 let cell = todoTable.dequeueReusableCell(withIdentifier: "CustomCell") as! CustomCell 12 13 cell.TodoTitle.text = itemList[indexPath.row].list 14 cell.TodoNumber.text = "(itemList[indexPath.row].id)" 15 16 return cell 17 } 18 19 20 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 21 22 // タップされたセルの行番号を出力 23 print("(indexPath.row)番目の行が選択されました。") 24 25 // セルの選択を解除 26 tableView.deselectRow(at: indexPath, animated: true) 27 28 // 画面遷移 29 performSegue(withIdentifier: "toNextViewController", sender: nil) 30 } 31 32 override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 33 34 if segue.identifier == "toNextViewController" { 35 36 let nextVC = segue.destination as! EditViewController 37 38 let _ = nextVC.view 39 40 nextVC.label.text = sender as? String 41 42 } 43 } 44 45...

EditViewController

1import UIKit 2 3class EditViewController: UIViewController { 4 5 @IBOutlet weak var label: UILabel! 6 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 10 label.text = label.text 11 12 // Do any additional setup after loading the view. 13 } 14 15 override func didReceiveMemoryWarning() { 16 super.didReceiveMemoryWarning() 17 // Dispose of any resources that can be recreated. 18 } 19 20}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { // タップされたセルの行番号を出力 print("(indexPath.row)番目の行が選択されました。") // セルの選択を解除 tableView.deselectRow(at: indexPath, animated: true) // 画面遷移 // sender に渡したい値 performSegue(withIdentifier: "toNextViewController", sender: indexPath.row) } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "toNextViewController" { if let nextVC = segue.destination as? EditViewController,        let index = sender as? Int { // モデルそのものを渡した方が良いかと(itemList[index]) nextVC.passedId = itemList[index].id // nextVC.item = itemList[index] } }
import UIKit class EditViewController: UIViewController { // 値渡し用の変数定義 var passedId: Int! // var item: 型! @IBOutlet weak var label: UILabel! override func viewDidLoad() { super.viewDidLoad() label.text = (passedId) // label.text = (item.id) // Do any additional setup after loading the view. } }

投稿2020/05/21 07:58

編集2020/05/21 08:05
TakuyaAso

総合スコア1361

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sunglass

2020/05/21 08:44

回答ありがとうございます。 確認しようとしたのですが いきなりXcodeの調子が悪くなり、、、 'string.h' file not found with <angled> include; use "quotes" insteadや 'grpc/support/port_platform.h' file not found と出てきてしまいました。 Xcodeの調子が直り次第確認させていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問