Я получаю индекс массива вне диапазона - PullRequest
0 голосов
/ 01 декабря 2019

при выводе результата теста в мое приложение я получаю

фатальную ошибку: индекс массива выходит за пределы диапазона

В коде я отметил место, гдеВозникла ошибка. Что может быть причиной ошибки?

import UIKit
import RealmSwift

class ResultVC: UIViewController, UITableViewDelegate, UITableViewDataSource {

    var message = ""
    var result = 0
    var testedVerbs = [Verb]()
    var repeatTestedVerbs = [Verb]()

    @IBOutlet weak var resultLabel:UILabel!
    @IBOutlet weak var tableView: UITableView!
    @IBOutlet weak var repeatVerbs: UILabel!
    @IBOutlet weak var nextButton: UIButton!

    override func viewDidLoad() {
        super.viewDidLoad()
        tableView.reloadData()
        setUp()
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return testedVerbs.isEmpty ? 0 : testedVerbs.count
    }

    private func setUp() {
        nextButton.setUpButton(button: nextButton, color: white, tintColor: black, cornerRadius: 12)

        for verb in testedVerbs {
            if verb.progress <= 0.49 {
                repeatTestedVerbs.append(verb)
            }
        }

        if repeatTestedVerbs.count <= 3 {//testedVerbs.count/20 * 100 {
            view.backgroundColor = orange
            message = "You Can Do Better!"
        } else {
            view.backgroundColor = green
            message = "Good Job!"
        }
        resultLabel.text = "\(message)  \(result) / \(testedVerbs.count)"
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        tableView.backgroundColor = .clear
        let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! ResultCell
        //        MARK: Index out of range
        let verb = repeatTestedVerbs[indexPath.row]
        cell.infinitiv.text = verb.infinitiv
        cell.translate.text = verb.translate
        cell.level.text = verb.level
        cell.backgroundColor = .clear
        return cell
    }

    static func storyboardInstance() -> ResultVC? {
        let storyboard = UIStoryboard(name: String(describing: self), bundle: nil)
        return storyboard.instantiateInitialViewController() as? ResultVC
    }

    @IBAction func repeatButton(_ sender: UIButton) {
        if let nvc = navigationController {
            nvc.popViewController(animated: true)
        }
    }

    @IBAction func cancel(_ sender:UIButton) {
        if let nvc = navigationController {
            for vc in nvc.viewControllers {
                if vc is ThemeTVC {
                    navigationController?.popToViewController(vc, animated: true)
                    break
                }
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...