配列を利用してtodoリストを作ろうと作業をしています。
配列に入る内容をtextField.textに代入するところでエラーが発生し、
解決できずにおります。
import UIKit class TableViewController: UIViewController,UITableViewDelegate,UITableViewDataSource,UITextFieldDelegate { @IBOutlet weak var textField: UITextField! @IBOutlet weak var tableView: UITableView! var textArray = [String]() override func viewDidLoad() { super.viewDidLoad() tableView.delegate = self tableView.dataSource = self textField.delegate = self } func numberOfSections(in tableView: UITableView) -> Int { return 1 } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 1 } func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { return view.frame.size.height/6 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) //ここでエラー発生。fatal error: Index out of range. cell.textLabel?.text = textArray[indexPath.row] cell.imageView?.image = UIImage(named: "todo") return cell } func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let secondVC = storyboard?.instantiateViewController(withIdentifier: "next") as! SecondViewController secondVC.toDoStr = textArray[indexPath.row] navigationController?.pushViewController(secondVC, animated: true) } func textFieldShouldReturn(_ textField: UITextField) -> Bool { textArray.append(textField.text!) textField.resignFirstResponder() textField.text = "" tableView.reloadData() return true } }
回答2件
あなたの回答
tips
プレビュー