使用NSDate获取nil值(致命错误:在展开Optional值时意外发现nil)

时间:2016-05-21 02:12:17

标签: ios swift exc-bad-access optional

我是iOS开发新手并收到错误:

  

致命错误:在解包可选值时意外发现nil

xCode for self(NSDate)底部的值是正确的,但dateStringFormatter和d显示的是内存地址而不是值,而dateString保持不变。有任何想法吗?我之前有这个代码工作,并且在提交错误之后一直在尝试修复它,所以我想可能与故事板/某些不会出现在代码中的东西有关吗? 这是代码:

extension NSDate{
convenience
init(dateString:String) {
    let dateStringFormatter = NSDateFormatter()
    dateStringFormatter.dateFormat = "hh:mm"
    dateStringFormatter.locale = NSLocale(localeIdentifier:
    "en_US_POSIX")
    let d = dateStringFormatter.dateFromString(dateString)!
    self.init(timeInterval:0, sinceDate:d)
    }
}

class EditViewController: UIViewController, UITableViewDelegate,
NSFetchedResultsControllerDelegate {
 ........
@IBAction func btnSetDate(sender: UIButton) {
    let newDate = NSDate(dateString: "10-33")
    StartDatePicker.date = newDate
   }
}

谢谢!

1 个答案:

答案 0 :(得分:1)

您要么更改了日期字符串文字或格式。进行以下更改之一:

let newDate = NSDate(dateString: "10:33")
// or
dateStringFormatter.dateFormat = "hh-mm"