【发布时间】:2014-12-02 16:48:56
【问题描述】:
我正在从 NSSting 转换 NSDate,然后以这种方式将此日期添加到 Core Data 对象
- (IBAction)save:(id)sender
{
managedObjectContext = [AppDelegate sharedDelegate].managedObjectContext;
NSUInteger selectedString = [subjectPicker selectedRowInComponent:0];
Subjects *selectedSubject = [subjectForEventArray objectAtIndex:selectedString];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
dateFormatter.timeZone = [NSTimeZone timeZoneWithName:@"Europe/Kyiv"];
[dateFormatter setDateFormat:@"hh:mm"];
NSLog(@" %@ %@ ", self.startDateForSubject, self.endDateForSubject);
NSDate *sDate = [dateFormatter dateFromString:self.startDateForSubject];
NSDate *eDate = [dateFormatter dateFromString:self.endDateForSubject];
NSLog(@"%@ %@", eDate, sDate);
selectedSubject.timeOfSubject.startDate = sDate;
selectedSubject.timeOfSubject.endDate = eDate;
selectedSubject.weekDay.dayOfWeek = _dayString;
NSError *error;
if ([managedObjectContext save:&error])
{
if (self.delegate) {
[self.delegate selectedTeacherToControllerForIndexPath:self.scheduleCellIndexPath];
} else {
NSLog(@"delegate is not set and can not execute code");
}
NSLog(@"=== %@ === %@ === %@ ===",selectedSubject.timeOfSubject.startDate, selectedSubject.timeOfSubject.endDate, selectedSubject.weekDay.dayOfWeek);
[self.navigationController popViewControllerAnimated:YES];
}
}
这是日志窗口
2014-12-02 18:35:00.115 StudentSchedule[1003:38141] 04:50 06:45
2014-12-02 18:35:00.117 StudentSchedule[1003:38141] 2000-01-01 04:45:00 +0000 2000-01-01 02:50:00 +0000
2014-12-02 18:35:00.118 StudentSchedule[1003:38141] === (null) === (null) === Monday, 11.12 ===
NSManagedObject 子类 Subjects 与另一个表“TimeOfSchedule”有关系 timeOfSubject,并且我有属性 NSDate。
@class ReadySubject, Teacher, TimeOfSchedule;
@interface Subjects : NSManagedObject
@property (nonatomic, retain) NSString * article;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSString * type;
@property (nonatomic, retain) Teacher *teacherOfSubject;
@property (nonatomic, retain) TimeOfSchedule *timeOfSubject;
和
@class Subjects;
@interface TimeOfSchedule : NSManagedObject
@property (nonatomic, retain) NSDate * endDate;
@property (nonatomic, retain) NSDate * startDate;
问题是,这个日期没有保存在我的核心数据中,有空值,我不明白为什么?
【问题讨论】:
标签: ios objective-c core-data nsdate