【问题标题】:I keep getting "signal 1: SIGABRT" in swift 3 and I don't know how to get around it我在 swift 3 中不断收到“信号 1:SIGABRT”,但我不知道如何解决它
【发布时间】:2017-02-10 00:55:14
【问题描述】:

我检查了我的所有连接,并且 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 {

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

【问题讨论】:

  • 可以添加错误的日志吗?
  • 可能还差得远,但只是仔细检查在imagePickerClass 中引发致命错误的init 方法没有被调用?听起来您正在使用情节提要(?),我相信如果图像选择器对象是从情节提要加载的 init 将被调用。
  • 我不知道你说的应用程序委托的第一行是什么意思。哪一行代码崩溃了。并复制并粘贴您收到的确切消息。还将崩溃的堆栈跟踪复制并粘贴到您的问题中。

标签: ios xcode swift3 appdelegate


【解决方案1】:

首先想说我使用的是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 的相应行。

【讨论】:

    猜你喜欢
    • 2015-12-17
    • 1970-01-01
    • 2021-11-30
    • 1970-01-01
    • 2017-09-18
    • 1970-01-01
    • 2020-12-26
    • 2017-02-13
    • 1970-01-01
    相关资源
    最近更新 更多