我已经看过关于这个主题的其他帖子,但这似乎有所不同。
我正在构建一个基于CoreDataBooks示例的iPhone应用程序。在我的PatientDetailViewController中,日期没有出现在相应的行中 - 当显然有数据时显示为null。我在标题,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
这是我的tableView中的代码: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 App [3633:207]格式化日期为(null)
2011-01-02 18:02:27.487 App [3633:207]日期是1993-01-02 17:41:46 -0800
我将不胜感激。感谢。
答案 0 :(得分:1)
你把它分配到某个地方了吗?
dateFormatter = [[NSDateFormatter alloc] init];
您可以将其放在viewDidLoad
或方便的地方。只需确保在实际使用dateFormatter
之前调用此行。