我是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
}
}
谢谢!
答案 0 :(得分:1)
您要么更改了日期字符串文字或格式。进行以下更改之一:
let newDate = NSDate(dateString: "10:33")
// or
dateStringFormatter.dateFormat = "hh-mm"