DatePicker更改后更新NSManagedObject属性

时间:2013-10-23 23:47:44

标签: ios objective-c core-data uidatepicker

我的CoreData应用程序使用两个“日期”字段来存储日期信息。我正在使用UIDatePicker来选择日期。当我对这两个属性进行验证时,我可以看到在保存ManagedObject之前不会修改“Date”属性。

如果更改DatePicker值,如何更新这些“日期”属性?

- (BOOL)validateStartDate:(id *)ioValue error:(NSError **)outError
{
    NSDate *inputDate = *ioValue;

   if ([inputDate compare:self.endDate] == NSOrderedDescending) {
       if (outError != NULL) {
        // Error handling ****
       }
       return NO;
   }
   return YES;
}

- (BOOL)validateEndDate:(id *)ioValue error:(NSError **)outError
{
    NSDate *inputDate = *ioValue;

    if ([inputDate compare:self.startDate] == NSOrderedAscending) {
        if (outError != NULL) {
            // Error handling ***
        }
        return NO;
     }
     return YES;
}

这是我用来验证“开始”和“结束”日期的代码。在这里,我想在每次用户更改时保存“开始”或“结束”日期。这样验证才能正常运行。

1 个答案:

答案 0 :(得分:1)

-(IBAction)valueChanged:(id)sender{
    yourManagedObject.date = [(UIDatePicker *)sender date];

    NSError *error;
    if([yourManagedObjectContext save:&error]){
        //didn't save
    }
}

然后将您的日期选择器发送事件“valueChanged”连接到该