1

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

如何在 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;
}

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

4

1 回答 1

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

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

然后连接你的日期选择器发送事件“valueChanged”到那个

于 2013-10-23T23:57:16.123 回答