我一直在 swift 3 中得到 "signal 1: SIGABRT",但我不知道如何解决它

I keep getting "signal 1: SIGABRT" in swift 3 and I don't know how to get around it

我检查了我所有的连接,NONE 其中的连接断开了。我已经重新连接了所有这些并检查了所有内容,但我一直收到此错误。它出现在 App Delegate 的第一行,我不知道为什么。这是代码。

class DetailsViewController: UIViewController, SFSafariViewControllerDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate{

    let imagePicker = UIImagePickerController()


    @IBOutlet weak var MITImageView: UIImageView!
    @IBOutlet weak var StanfordImageView: UIImageView!
    @IBOutlet weak var HarvardImageView: UIImageView!

    @IBAction func MITSafariViewControllerButton(_ sender: UIButton) {
        let url = NSURL(string: MITUrl)!
        let svc = SFSafariViewController(url: url as URL)
        present(svc, animated: true, completion: nil)
    }

    @IBAction func StanfordSafariViewControllerButton(_ sender: UIButton) {
        let url = NSURL(string: StanfordUrl)!
        let svc = SFSafariViewController(url: url as URL)
        present(svc, animated: true, completion: nil)
    }

    @IBAction func HarvardSafariViewControllerButton(_ sender: UIButton) {
        let url = NSURL(string: HarvardUrl)!
        let svc = SFSafariViewController(url: url as URL)
        present(svc, animated: true, completion: nil)

    }

    @IBAction func imageChangeButton(_ sender: UIButton) {
        imagePickerClass().imagePickerControllerMIT(picker: imagePicker)
    }
    @IBAction func imageChangeButtonStanford(_ sender: UIButton) {
        imagePickerClass().imagePickerControllerStanford(picker: imagePicker)
    }

    @IBAction func imageChangeButtonHarvard(_ sender: UIButton) {
        imagePickerClass().imagePickerControllerHarvard(picker: imagePicker)
    }

    var MITUrl = "http://web.mit.edu"
    var StanfordUrl = "http://stanford.edu"
    var HarvardUrl = "http://www.harvard.edu"
    override func viewDidLoad() {
        super.viewDidLoad()
        imagePicker.delegate = self


               var logos = [#imageLiteral(resourceName: "MIT Logo"), #imageLiteral(resourceName: "Stanford Logo"), #imageLiteral(resourceName: "Harvard Logo")]

        var pos1 = Int()
        var pos2 = Int()
        var pos3 = Int()

        pos1 = 0
        pos2 = 1
        pos3 = 2

        self.MITImageView.image = logos[pos1]
        self.StanfordImageView.image = logos[pos2]
        self.HarvardImageView.image = logos[pos3]
        // Do any additional setup after loading the view.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }



}



class imagePickerClass : DetailsViewController {

    var pos1 = Int()
    var pos2 = Int()
    var pos3 = Int()
    var MITImage = Int()
    var StanfordImage = Int()
    var HarvardImage = Int()



    init (){
        pos1 = 0
        pos2 = 1
        pos3 = 2
        MITImage = 3
        StanfordImage = 3
        HarvardImage = 3

        let code = NSCoder()
        super.init(coder: code)!
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    func imagePickerControllerMIT(picker: UIImagePickerController) {


            self.imagePicker.sourceType = UIImagePickerControllerSourceType.photoLibrary
            weak var weakSelf = self

            weakSelf?.present((weakSelf?.imagePicker)!, animated: true, completion: nil)



                self.imagePicker.dismiss(animated: true, completion: {
                    let imageSelected = [UIImagePickerControllerOriginalImage] as! UIImage
                    var logos = [#imageLiteral(resourceName: "MIT Logo"), #imageLiteral(resourceName: "Stanford Logo"), #imageLiteral(resourceName: "Harvard Logo"), imageSelected]
                    self.MITImageView.image = logos[self.MITImage]


            })


    }

    func imagePickerControllerStanford(picker: UIImagePickerController) {
        imagePicker.dismiss(animated: true, completion: {
            self.imagePicker.sourceType = UIImagePickerControllerSourceType.photoLibrary
            weak var weakSelf = self
            weakSelf?.present((weakSelf?.imagePicker)!, animated: true, completion: {
            let  imageSelected = [UIImagePickerControllerOriginalImage] as! UIImage
            var logos = [#imageLiteral(resourceName: "MIT Logo"), #imageLiteral(resourceName: "Stanford Logo"), #imageLiteral(resourceName: "Harvard Logo"), imageSelected]
            self.MITImageView.image = logos[self.StanfordImage]

            })

        })
    }


    func imagePickerControllerHarvard(picker: UIImagePickerController) {
        imagePicker.dismiss(animated: true, completion: {
            self.imagePicker.sourceType = UIImagePickerControllerSourceType.photoLibrary
            weak var weakSelf = self
            weakSelf?.present((weakSelf?.imagePicker)!, animated: true, completion: {
            let imageSelected = [UIImagePickerControllerOriginalImage] as! UIImage
            var logos = [#imageLiteral(resourceName: "MIT Logo"), #imageLiteral(resourceName: "Stanford Logo"), #imageLiteral(resourceName: "Harvard Logo"), imageSelected]
            self.MITImageView.image = logos[self.HarvardImage]

            })
        })
    }



}

这里是错误

class AppDelegate: UIResponder, UIApplicationDelegate,       UIImagePickerControllerDelegate, UINavigationControllerDelegate {

如果你能帮我解决这个问题那就太好了。

首先想说一下,我用的是Xcode7.0IOS9.0。我在 objective-c 中也遇到了同样的问题。我发现异常的原因只是调试我的代码(基本上是哪一行负责)。我将与您分享。虽然您的问题与 swift 相关,但我只是想为 signal 1: SIGABRT 提供帮助。可能对你有帮助。

1. 首先在代码的任意行设置一个debug pointer。单击 show the break point navigator 图标。

2. 单击 create a break point 图标。

3. 点击 Add Exception BreakPoint.

4. 右击 All Exception 然后点击 Edit BreakPoint.

5. select objective-c 作为 'Exception'.

的选项

并且 运行 您的申请。它将带您到您获得 SIGABRT.

的相应行