2014-11-05 2 views
-2

Я получаю эту ошибку. Как ее решить. Пожалуйста, предложите мне. Отчет о сбоях [__NSCFCalendar components: fromDate: toDate: options:]: fromDate не может быть nil Я имею в виду, действительно, как вы думаете, что операция должна означать с нулем fromDate? На данный момент исключение исключено. Некоторые из этих ошибок будут сообщаться с этой жалобой, а затем дальнейшие нарушения просто молчат независимо от того, какая случайная вещь возникает из нуля. Вот трассировку, где это произошло на этот раз (некоторые кадры могут отсутствовать из-за оптимизации компилятора): Мой код[__NSCFCalendar components: fromDate: toDate: options:]: fromDate не может быть nil

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

Показать журнал ул, поэтому мы можем видеть, что это формат. Этот формат должен соответствовать тому, который вы используете в setDateFormat для вашего форматирования. – rdelmar

+0

NSDate * titemdate = [df dateFromString: str_babyedays]; – Ravikumar

+0

Включите этот журнал, NSLog (@ "% @", str_babyedays) и сообщите, что он показывает. – rdelmar

ответ

4

Ваш titemdate равен нулю, потому что ваш NSDateFormatter не смог разобрать дату из str_babyedays. Прямо из документации Apple, для NSDateFormatter:

Если dateFromString: не может разобрать строку, возвращает nil.

Вы можете посмотреть любой из этих вопросов, чтобы определить, почему это nil.

NSDateFormatter dateFromString conversion

NSDateFormatter dateFromString Always Returns nil

dateFromString always returns null with dateformatter

+0

Спасибо, что дали answer.NSDate * dateFromString = [df dateFromString: str_babyedays]; Это не работает для меня. – Ravikumar

Смежные вопросы