teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コード追記

2020/06/29 06:56

投稿

TsukubaDepot
TsukubaDepot

スコア5086

answer CHANGED
@@ -32,4 +32,76 @@
32
32
  print(selectedParts["title"])
33
33
  }
34
34
  }
35
+ ```
36
+ ---
37
+ コード全文です。
38
+
39
+ ```Swift
40
+ import UIKit
41
+
42
+ class ViewController: UITableViewController {
43
+
44
+ var parts = [
45
+ ["title":"カルビ", "detail":"油がすごい"],
46
+ ["title":"レバー", "detail":"内臓です"],
47
+ ["title":"ホルモン", "detail":"牛の腸です"],
48
+ ["title":"タン", "detail":"牛のベロです"]
49
+ ]
50
+
51
+ override func viewDidLoad() {
52
+ super.viewDidLoad()
53
+
54
+ }
55
+
56
+ // MARK: - Table view data source
57
+
58
+ override func numberOfSections(in tableView: UITableView) -> Int {
59
+ // #warning Incomplete implementation, return the number of sections
60
+ return 1
61
+ }
62
+
63
+ override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
64
+ // #warning Incomplete implementation, return the number of rows
65
+ return self.parts.count
66
+ }
67
+
68
+
69
+ override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
70
+ let cell = tableView.dequeueReusableCell(withIdentifier: "YakinikuTableViewCell", for: indexPath)
71
+
72
+ // Configure the cell...
73
+ cell.textLabel?.text = self.parts[indexPath.row]["title"]
74
+ return cell
75
+ }
76
+
77
+ override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
78
+ tableView.deselectRow(at: indexPath, animated: true)
79
+ performSegue(withIdentifier: "toDetailVC", sender: parts[indexPath.row])
80
+ }
81
+
82
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
83
+ let detailVC = segue.destination as! DetailViewController
84
+
85
+ // Any? 型として渡されているので、[String: String] に変換する
86
+ if let selectedParts = sender as? [String : String] {
87
+ detailVC.selectedParts = selectedParts
88
+ }
89
+ }
90
+ }
91
+ ```
92
+
93
+ ```Swift
94
+ import UIKit
95
+
96
+ class DetailViewController: UIViewController {
97
+ @IBOutlet weak var partNameLabel: UILabel!
98
+
99
+ var selectedParts: [String: String]!
100
+
101
+ override func viewDidLoad() {
102
+ super.viewDidLoad()
103
+ partNameLabel.text = selectedParts["title"]
104
+
105
+ }
106
+ }
35
107
  ```