プログラミング初心者です。
Swiftを勉強しており、最近Udemyでの勉強をスタートしました。
本日は、Udemy内で作成しているアプリのエラーについてです。
前提・実現したいこと
「Udemy【iOS13対応】未経験者がiPhoneアプリ開発者になるための全て iOS Boot Camp」内、セクション11:
おしゃれなTodoアプリでTableViewの基礎を学ぼうより。
コース内のアナウンスに沿ってコードを実装したものの、Bild時に「配列に関するデータが無い」というエラーが出てしまい、解決方法がわかりません。
発生している問題・エラーメッセージ
Thread 1: Fatal error: Index out of range
該当のソースコード
cell.textLabel?.text = textArray[indexPath.row]
### 全体のソースコード
import UIKit
class ViewController: 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 } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) navigationController?.isNavigationBarHidden = true } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 1 } func numberOfSections(in tableView: UITableView) ->
Int {
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) cell.textLabel?.text = textArray[indexPath.row] cell.imageView!.image = UIImage(named: "checkImage") return cell } func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let nextVC = storyboard?.instantiateViewController(identifier: "Next") as! NextViewController nextVC.toDoString = textArray[indexPath.row] navigationController?.pushViewController(nextVC, animated: true) } func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { return view.frame.size.height/7 } func textFieldShouldReturn(_ textField: UITextField) -> Bool { textArray.append(textField.text!) textField.resignFirstResponder() textField.text = "" tableView.reloadData() return true }
}
使っているツール・バージョン
Xcode Version 11.5
回答した後に失礼しますが、
コードは、コードブロックになるよう記載しましょう。
```言語名(今回はswift)
ここにソースコード
```
という形式です。
質問本文は修正可能です。
回答2件
あなたの回答
tips
プレビュー