ios开发出现fatal error: unexpectedly found nil while unwrapping an Optional value

来源:互联网 发布:sql select from 嵌套 编辑:程序博客网 时间:2024/05/22 08:25
今天在进行真机测试时候出现

fatal error: unexpectedly found nil while unwrapping an Optional value 错误


由于在模拟器上进行测试时候并没有问题,但在真机上出现崩溃错误,调试后发现是由于未设置时间的时区导致,希望能引起注意

代码如下(此方法是用来将参数中的时间与当前时间比较并返回相应的字符串(在微博中的发布时间中可以用到)):

 func getCreateAt(date: String) ->String{

        

       let formatter = NSDateFormatter()

        //!!!!!必须设置时区

       

       formatter.locale =NSLocale(localeIdentifier: "cn")

        //Z 时区

       formatter.dateFormat ="EEE MMM dd HH:mm:ss Z yyyy"

       

       //进行转换

       let time = formatter.dateFromString(date)

    

       let canlader = NSCalendar.currentCalendar()

       //设置获取的

       let unit = NSCalendarUnit(arrayLiteral: .Year,.Month,.Day,.Hour,.Minute)

       //比较时间

       let comps = canlader.components(unit, fromDate: time!, toDate:NSDate(), options: [])

       

        if comps.year ==0{//是本年

            

            if comps.month ==0{//是本月

                if comps.day ==0{//是今天

                    

                    if comps.hour ==0{//1小时之内

                        if comps.minute ==0{//刚刚

                            return "刚刚"

                        }else{//xx分钟之前

                           return "\(comps.minute)分钟前"

                        }

                    }else{

                        return "\(comps.hour)小时前"

                    }

                }else if comps.day == 1{// 是昨天

                    formatter.dateFormat = "HH:mm"

                    let str = formatter.stringFromDate(time!)

                    return"昨天\(str)"

                    

                }else{

                    formatter.dateFormat = "MM-DD HH:mm"

                    let str = formatter.stringFromDate(time!)

                    return "\(str)"

                }

            }else {//不是本月

                formatter.dateFormat = "MM-DD HH:mm"

                let str = formatter.stringFromDate(time!)

                return "\(str)"

            }

            

        }else {//不是今年

            formatter.dateFormat = "YY-MM-DD HH:mm"

            let str = formatter.stringFromDate(time!)

            return "\(str)"

        }

       

        return ""

    }



0 0
原创粉丝点击