Cause of CrashのUITableViewクラッシュ
私のセグエの簡単なビューのために上の画像をクリックしてください。私のアプリはトレーニングトラッカーです。ワークアウト名、説明などのプロパティを持つワークアウトオブジェクトを作成するクラスがあります。私はワークアウトリストを作成する別のオブジェクトを持っているので、Workoutオブジェクトの配列だけです。
私はUITableViewとその上にユーザーが新しいワークアウトを作成し、それをworkoutList配列に追加するためのボタンを持っています。
「新しいワークアウトを作成する」をクリックすると、クラッシュが発生します。これは、新しいView Controllerにつながります。私はあなたがあなたのストーリーボードの両方のビューで同じのViewControllerを使用しているように見える
import UIKit
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var setStepper: UILabel!
@IBOutlet weak var repStepper: UILabel!
@IBOutlet weak var workoutName: UITextField!
@IBOutlet weak var workoutDescription: UITextField!
@IBOutlet weak var tableView: UITableView!
var workoutList = WorkoutList().listOfWorkouts
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func stepperCounter(_ sender: UIStepper) {
if sender.tag == 1 {
setStepper.text = "\(Int(sender.value))"
}
else if sender.tag == 2 {
repStepper.text = "\(Int(sender.value))"
}
}
@IBAction func addToWorkout(_ sender: Any) {
//I know this is terrible fixing later. Just for Testing right now
let newWorkout : Workout = Workout(Name: workoutName.text!, Description: workoutDescription.text!, Sets: Int(setStepper.text!)!, Reps: Int(repStepper.text!)!)
workoutList.append(newWorkout)
print(workoutList.count)
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return workoutList.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell()
cell.textLabel?.text = "Hello"
return cell
}
}
クラッシュする行にブレークポイントを置き、 'tableView'の値を見るとどうなりますか?それは非ですか? –
そしておそらく、クラッシュタイプを説明するログを入れてください。 – GIJOW
私はcellForRowAtに起因するかもしれないと思います。コード内にクラッシュの説明を追加する –