自定义管理对象开发指南
1. 添加验证反馈
在之前的开发中,我们创建了一个抽象类 ManagedObjectAttributeEditor ,它封装了各种属性编辑器的通用功能,但不包含保存管理对象的代码,此任务被分配给了子类。现在,我们希望在编辑的属性验证失败时添加验证反馈,并且避免在每个子类的保存方法中重复相同的功能。
查看 ManagedObjectAttributeEditor 的子类,会发现它们的保存方法末尾都有一段共同的逻辑:
NSError *error;
if (![managedObject.managedObjectContext save:&error])
NSLog(@"Error saving: %@", [error localizedDescription]);
[self.navigationController popViewControllerAnimated:YES];
每个属性编辑器在使用新编辑的值更新管理对象后都需要保存它。在保存方法的这个位置,我们可以发现任何验证错误,因此需要在此处添加代码来通知用户这些错误。我们将把这个共享功能重构到 ManagedObjectAttributeEditor 中。
为了确保子类确实实现了保存方法,我们不在 ManagedObjectAttributeEditor 的保存方法中直接放置验证代码,而是创建一个新方法 validateAndPop
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



