[__ NSCFCalendar组件:fromDate:toDate:options:]:fromDate不能为零

时间:2014-11-05 14:47:28

标签: ios iphone nscalendar

我收到了这个错误。如何解决它。请建议我。 崩溃报告 [__ 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];

1 个答案:

答案 0 :(得分:4)

您的titemdate为零,因为NSDateFormatter无法解析str_babyedays的日期。直接来自NSDateFormatter的Apple文档:

  

如果dateFromString:无法解析字符串,则返回nil

您可以查看其中任何一个问题,以确定原因nil

NSDateFormatter dateFromString conversion

NSDateFormatter dateFromString Always Returns nil

dateFromString always returns null with dateformatter