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

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



