前提
swiftでiPhoneアプリを作成中です。
Tableviewで①cellをタップすると、タップした①cellに関連項目が②cellに表示されます。
実現したいこと
②cellの時に「戻る」がないので、①cellに戻れません。
戻れる方法を教えていただけませんか。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
swift
class ViewController: UIViewController, UITableViewDelegate,UITableViewDataSource {
@IBOutlet weak var tableView: UITableView! @IBOutlet weak var nameLbl0: UILabel! var _objects = [[String:String]]() //let meshi = ["ラーメン","カレー","ピザ","寿司"] let meshi = [["name":"ラーメン","file":"ramen"], ["name":"カレー","file":"curry"], ["name":"ピザ","file":"pizza"], ["name":"寿司","file":"sushi"]] let ramen = [["name":"戻る"],["name":"醤油ラーメン"],["name":"味噌ラーメン"],["name":"豚骨ラーメン"],["name":"塩ラーメン"],["name":"豚骨醤油ラーメン"]] let curry = [["name":"ビーフカレー"],["name":"カツカレー"],["name":"チキンカレー"],["name":"ポークカレー"],["name":"スープカレー."]] let pizza = [["name":"マルゲリータ"],["name":"マリナーラ"],["name":"ペスカトーレ"],["name":"オルトラーナ"],["name":"パルマ"],["name":"カラブレーゼ"]] let sushi = [["name":"大トロ"],["name":"中トロ"],["name":"マグロ"],["name":"ウニ"],["name":"いくら"]] override func viewDidLoad() { super.viewDidLoad() tableView.delegate = self tableView.dataSource = self // Do any additional setup after loading the view. _objects = meshi } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return _objects.count } func numberOfSections(in tableView: UITableView) -> Int { return 1 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell: UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) let cellValues = _objects[(indexPath as NSIndexPath).row] let namelabel = cell.contentView.viewWithTag(1) as! UILabel namelabel.text = cellValues["name"] return cell } func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let cellValues = _objects[(indexPath as NSIndexPath).row] print("cellValues:",cellValues) nameLbl0.text = cellValues["name"] let filename = cellValues["file"] if filename == "ramen"{ _objects = ramen }else if filename == "curry"{ _objects = curry }else if filename == "pizza"{ _objects = pizza }else if filename == "sushi"{ _objects = sushi } print("_objects:",_objects) tableView.reloadData() print("_objects:",_objects) tableView.reloadData() } } func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { return 100 }
}
### 試したこと let ramenに”戻る”を入れて試しましたが、記載内容が分かりません。 ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2023/01/30 08:49