Почему dateFormatter имеет значение null? - PullRequest
0 голосов
/ 03 января 2011

Я видел другие посты на эту тему, но это кажется другим.

Я создаю приложение для iPhone на основе примера CoreDataBooks. В моем PatientDetailViewController дата не отображается в соответствующей строке - появляется ноль, когда очевидно есть данные. Я искал в заголовках, xib и в других местах, чтобы найти, почему образец работает, а мой нет - и я не делаю никакого прогресса.

Обратите внимание, что dateOfBirth является атрибутом Patient в модели.

В интерфейсе у меня есть

    @class Patient;
    @class EditingViewController;

    #include <UIKit/UIKit.h>

    @interface PatientDetailViewController : UITableViewController {
        Patient *patient;
        NSDateFormatter *dateFormatter;
    }

    @property (nonatomic, retain) Patient *patient;
    @property (nonatomic, retain) NSDateFormatter *dateFormatter;

@end

Вот код в моем табличном представлении: cellForRowAtIndexPath:

    ...
    cell.textLabel.text = @"DOB";
    cell.detailTextLabel.text = [self.dateFormatter stringFromDate:patient.dateOfBirth];

    NSLog(@"the formatted date is %@", [self.dateFormatter stringFromDate:patient.dateOfBirth]);

   NSDate *date = [patient valueForKey:@"dateOfBirth"];
   NSLog(@"the date is %@", date);
    ...

А вывод на консоль выглядит следующим образом:

2011-01-02 18: 02: 27.484 Приложение [3633: 207] с форматированной датой (ноль)

2011-01-02 18: 02: 27.487 Приложение [3633: 207] дата 1993-01-02 17:41:46 -0800

Буду признателен за любую помощь. Спасибо.

1 Ответ

1 голос
/ 03 января 2011

Вы это где-то разместили?

dateFormatter = [[NSDateFormatter alloc] init];

Вы можете разместить это в viewDidLoad или там, где вам удобно. Просто убедитесь, что эта строка вызывается, прежде чем вы на самом деле используете dateFormatter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...