samedi 10 mars 2012

Une autre validation SuperDB Tweak

En ManagedObjectAttributeEditor.m, il ya cette méthode:

...
#pragma mark -
#pragma mark Alert View Delegate
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
if (buttonIndex == [alertView cancelButtonIndex]) {
[self.managedObject.managedObjectContext rollback];
[self.navigationController popViewControllerAnimated:YES];
}

}

@end

Maintenant, si vous dites que vous allez à fixer, et puis ne pas, le contexte n'est jamais annulé. Il devrait vraiment être:
...
#pragma mark -
#pragma mark Alert View Delegate
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
[self.managedObject.managedObjectContext rollback];
if (buttonIndex == [alertView cancelButtonIndex]) {
[self.navigationController popViewControllerAnimated:YES];
}

}

@end

Depuis nous n'avons pas les reliures, la valeur incorrecte montré dans l'interface graphique va rester là, nous sommes juste de le retirer du contexte. Lorsque ils ont frappé Save encore une fois, nous allons copier la valeur de retour dans le contexte, mais si ils ont frappé d'annuler, nous ne laisserons pas une valeur invalide assis dans le contexte non enregistrées.


Aucun commentaire: