libc+abi.dylib:以 NSException 类型的未捕获异常终止

Posted

技术标签:

【中文标题】libc+abi.dylib:以 NSException 类型的未捕获异常终止【英文标题】:libc+abi.dylib: terminating with uncaught exception of type NSException 【发布时间】:2019-04-10 12:40:35 【问题描述】:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any])   
        let alert = SCLAlertView()  
        alert.addButton("A",target:self,selector: #selector(FirstViewController.firstButton))  
        alert.addButton("B",target:self,selector: #selector(FirstViewController.secondButton))  
        self.dismiss(animated: true, completion:   
            alert.showSuccess(kSuccessTitle,subTitle: kSubtitle1)  
//            self.present(secondViewController,animated: true,completion: nil)  
        )  
      
    @objc func firstButton(info: [UIImagePickerController.InfoKey : Any])  
      
        let sb = UIStoryboard(name:"Main",bundle: Bundle.main)  
        let secondViewController = sb.instantiateViewController(withIdentifier: "view2") as! SecondViewController  
        secondViewController.infoFromViewOne = info[UIImagePickerController.InfoKey.editedImage] as? UIImage  
        secondViewController.flag = 0  
        self.present(secondViewController,animated: true,completion: nil)  
      
    @objc func secondButton()  
      
        let sb = UIStoryboard(name:"Main",bundle: Bundle.main)  
        let thirdViewcontroller = sb.instantiateViewController(withIdentifier: "SecondViewController") as! ViewController  
        self.present(thirdViewcontroller,animated: true,completion: nil)  
      

这是我的代码, 我想要的结果是,当我点击第一个按钮时,页面跳转到“SecondViewcontroller”,而SecondViewcontroller的imageView中的图片就是我刚刚选择的照片。

但是现在,在选择照片并单击第一个按钮后,应用程序在 AppDelegate.swift 处崩溃,并显示错误消息: “libc++abi.dylib:以NSException 类型的未捕获异常终止”

我应该怎么做才能使它正确?

【问题讨论】:

控制台中是否还有其他错误?我相信他们也必须是另一行描述。 分享完整的崩溃报告,即在 NSException 之后 @ZeeshanAhmed 不,控制台出现一行错误 告诉我这个“infoFromViewOne”变量的声明 @ShubhamBakshi 我确定在那之后没有错误消息。 【参考方案1】:
private var infoFromViewOne: UIImage()
    var _infoFromViewOne:UIImage 
    set 
         _infoFromViewOne = newValue 
    
    get 
         return _infoFromViewOne
    

如果因为我现在没有确切的代码 sn-p 但明天可以为您提供,请用此删除错误替换它。

【讨论】:

答案如果解释问题和解决方案会更有帮助。 我添加了这些代码,但有问题:1.'infoFromViewOne'的重新声明无效 2.尝试在自己的设置器中修改'_infoFromViewOne' 3.尝试在自己的getter中访问'_infoFromViewOne'

以上是关于libc+abi.dylib:以 NSException 类型的未捕获异常终止的主要内容,如果未能解决你的问题,请参考以下文章

Swift 2 到 3 迁移错误(libc++abi.dylib:以 NSException 类型的未捕获异常终止)

UITableViewDataSource 导致 libc++abi.dylib:以 NSException 类型的未捕获异常终止

libc++abi.dylib:以 NSException (lldb) 类型的未捕获异常终止 TabBarController->TableViews->ViewControllers

(Swift 3) 父子上下文崩溃核心数据 (libc++abi.dylib: 以 NSException (Recorded Frame) 类型的未捕获异常终止)

libc++abi.dylib: terminate_handler unexpectedly threw an exception错误小结

libc++abi.dylib: terminate_handler 意外抛出异常 - 0 堆栈跟踪 iOS7 / iOS 8