美文网首页
Thread 1: Fatal error: Unexpecte

Thread 1: Fatal error: Unexpecte

作者: 本帅不良 | 来源:发表于2018-07-31 16:42 被阅读1117次

    问题:Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
    情形一:通过

    let viewController = storyboard.instantiateViewController(withIdentifier: identifier)
    

    得到视图控制器后,我给视图控制器的一个label赋值(通过xib创建)

    viewController.detailAddress.text = "XXX"
    

    ,是总是出现上述的报错。
    解决:将label的赋值放在viewdidload中,不再报错。
    分析:可以在viewdidload中赋值,而不能再通过storyboard得到视图控制器时赋值,说明通过storyboard得到的视图控制器并未初始化。

    情形二:
    block没有实现的时候,会出现这个报错,

    //block的声明
    var sureBlock : StringBlock!
    //block的调用
    self.dismiss(animated: true) {
                self.sureBlock(dateStr)
            }
    //block没有使用
    //日期选择器(只有月、日)
        func selectDatePickerView(presenting presentingViewController: UIViewController, sureActionhandler: ((_ dateStr:String)-> Void)?) -> UIViewController {
            let viewController = CommonHelper.instantiateViewControllerWithIdentifier(CommonHelper.kSelectDateVC) as! DatePickViewController
    //之前为方便将此代码注释,导致崩溃
    //        viewController.sureBlock = sureActionhandler
            slideInTransitioningDelegate.direction = .bottom
            slideInTransitioningDelegate.customHeight = 202
            slideInTransitioningDelegate.customWidth = kScreenWidth
            slideInTransitioningDelegate.disableCompactHeight = true
            DispatchQueue.main.async(execute: {
                viewController.transitioningDelegate = self.slideInTransitioningDelegate
                viewController.modalPresentationStyle = .custom
                presentingViewController.present(viewController, animated: true, completion: nil)
            })
            return viewController
            
            //
            
        }
    

    相关文章

      网友评论

          本文标题:Thread 1: Fatal error: Unexpecte

          本文链接:https://www.haomeiwen.com/subject/mxphvftx.html