繁体   English   中英

我一直在迅速3中收到“信号1:SIGABRT”,但我不知道该如何解决

[英]I keep getting “signal 1: SIGABRT” in swift 3 and I don't know how to get around it

我检查了所有连接, 没有一个断开。 我已经重新连接了所有人,并检查了所有内容,但我一直收到此错误。 它出现在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 {

如果您能帮助我解决这个问题,那将是很好的。

首先要说的是我正在使用Xcode 7.0IOS 9.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.选择objective-c作为“例外”的选项。

并运行您的应用程序。 它将带您到获得SIGABRT的相应行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM