14、自定义管理对象开发指南

自定义管理对象开发指南

1. 添加验证反馈

在之前的开发中,我们创建了一个抽象类 ManagedObjectAttributeEditor ,它封装了各种属性编辑器的通用功能,但不包含保存管理对象的代码,此任务被分配给了子类。现在,我们希望在编辑的属性验证失败时添加验证反馈,并且避免在每个子类的保存方法中重复相同的功能。

查看 ManagedObjectAttributeEditor 的子类,会发现它们的保存方法末尾都有一段共同的逻辑:

NSError *error;
if (![managedObject.managedObjectContext save:&error])
    NSLog(@"Error saving: %@", [error localizedDescription]);

[self.navigationController popViewControllerAnimated:YES];

每个属性编辑器在使用新编辑的值更新管理对象后都需要保存它。在保存方法的这个位置,我们可以发现任何验证错误,因此需要在此处添加代码来通知用户这些错误。我们将把这个共享功能重构到 ManagedObjectAttributeEditor 中。

为了确保子类确实实现了保存方法,我们不在 ManagedObjectAttributeEditor 的保存方法中直接放置验证代码,而是创建一个新方法 validateAndPop

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值