Xcode NSEException, сигнал SIGABRT не может понять это - PullRequest
0 голосов
/ 17 мая 2018

Я очень новичок в Xcode, и я работаю над этим кодом, где, в основном, появляется конкретная метка в зависимости от того, какая кнопка нажата.Чтобы упростить его (я не знаю, сколько кнопок и меток у меня будет в конечном итоге), я создал массивы для меток и кнопок (я перетянул кнопки и метки в код как Outlet Collection).В любом случае, вот код:

import UIKit

class ViewController: UIViewController {

    //initialize everything
        //labels first
    @IBOutlet var labels: [UILabel]!
        //buttons now
    @IBOutlet var buttons: [UIButton]!
        //pictures next
    @IBOutlet var pic: UIImageView!      
    //function for all buttons
    @IBAction func button_action(_ sender: UIButton) {        
            let propertyToCheck = sender.tag
            for i in 0...buttons.count-1{
                if buttons[i].tag !=  propertyToCheck{
                    labels[i].isHidden = true
                }
                else{
                    labels[i].text = "The right text"
                    if labels[i].isHidden == true {
                        labels[i].isHidden = false
                    } else {
                        labels[i].isHidden = true
                    }
                }
            }
        }
        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view, typically from a nib.

        var index = 0    
        //initialize view
            //labels
        for label in labels{
            label.isHidden = true
        }
            //pics
        pic.isHidden = true    
        //associate action for every button
        for button in buttons {
            button.tag = index// setting tag, to identify button tapped in action method
            print("Hello", button.tag, buttons.count)
            button.addTarget(self, action: #selector(button_action(_:)), for: UIControlEvents.touchUpInside)
            index = index + 1
        }
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

Я получаю следующую ошибку: «libc ++ abi.dylib: завершается с неисключенным исключением типа NSException», и когда я смотрю на AppDelegate, я нахожуэто: «Тема 1: сигнал SIGABRT».Вот иерархия: enter image description here

Опять же, я очень новичок, поэтому я предполагаю, что это ошибка при вызове чего-то, что не существует, или чего-то с подключениями,но я не могу понять, что это такое!Я уже искал в Интернете возможные решения, такие как очистка и перестройка проекта, но пока ничего не помогло.

Любое предложение будет по-настоящему оценено!

...