我收到了这个错误。如何解决它。请建议我。 崩溃报告 [__ NSCFCalendar组件:fromDate:toDate:options:]:fromDate不能为零 我的意思是,你觉得这个操作应该意味着什么来自日期? 目前已经避免了例外。 这个投诉会报告其中一些错误,然后进一步的违规行为只会默默地做任何随机的事情。 这是此次发生的回溯(由于编译器优化,某些帧可能会丢失): 我的代码
NSString *str_babyedays=aMileBusiness.str_DAte;
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"dd-MM-yyyy"];
df.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"EN"];
NSDate *titemdate = [df dateFromString: str_babyedays];
NSDate *currentDate = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSUInteger unitFlags = NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *components = [gregorian components:unitFlags
fromDate:titemdate
toDate:currentDate options:0];
NSInteger months = [components month];
NSInteger day= [components day];
答案 0 :(得分:4)
您的titemdate
为零,因为NSDateFormatter
无法解析str_babyedays
的日期。直接来自NSDateFormatter
的Apple文档:
如果
dateFromString:
无法解析字符串,则返回nil
。
您可以查看其中任何一个问题,以确定原因nil
。
NSDateFormatter dateFromString conversion