CoreData数据验证失败仍然插入context的解决(三)
来源:互联网 发布:单片机键盘输入 编辑:程序博客网 时间:2024/05/21 13:23
在前两篇系列博文中,我们讨论了该问题的几种解决办法.随着对CoreData的深入学习,又发现一个更简单的方法.
我们保持原先的创建managedObject方法不变,只是略微修改一下插入的代码就可以了.
首先是托管对象创建的代码:
if let entity = NSEntityDescription.entity(forEntityName: "KsMain", in: containerVC.managedObjectContext){ if let ks = NSManagedObject(entity: entity, insertInto: containerVC.managedObjectContext) as? KsMain{ //try to fill ks object!!!
在ks对象需要实际插入到数据库中时,我们使用如下代码:
func insert(_ ks:KsMain){ do{ try ks.validateForInsert() }catch{ if ks.isInserted{ managedObjectContext.delete(ks) } print(error.localizedDescription) } }
你没看错,只需要在验证失败的错误处理代码中检查是否已经有对象被插入,如果有则将其删除即可.
保存编译代码,效果和前面几种完全一致.
0 0
- CoreData数据验证失败仍然插入context的解决(三)
- CoreData数据验证失败仍然插入context的解决(一)
- CoreData数据验证失败仍然插入context的解决(二)
- CoreData实践(三)——插入数据并使用SQLite Professional查看
- 微信验证token失败的解决
- CoreData的数据迁移
- CoreData的数据迁移
- su 验证失败解决
- sqlite 数据插入失败
- Greendao 插入数据失败
- 数据库插入数据失败
- 批量插入数据解决我的问题 3G数据插入
- Multi-Context CoreData
- php mysqli->query() 插入中文失败的解决
- MySQL解决插入emoji表情失败的问题
- 微信开发服务器验证总是失败wordpress微信机器人插件验证失败的解决
- 解决MySQL无法插入数据的问题!
- 重复插入数据的另类解决思路
- java并发编程之synchronized
- 我的第一次
- 编译u-boot-2009.1.1.cnxt
- Symmetric Tree
- 【bzoj4198】[NOI2015]荷马史诗
- CoreData数据验证失败仍然插入context的解决(三)
- .NET MVC实现多图片上传并附带参数(ajaxfileupload)
- LINQ可视化查询编辑器: VLinq
- asp.net mvc 中验证码
- Android graphic 架构
- 学习LINQ工具:LINQPad
- 【bzoj1067】[SCOI2007]降雨量
- JavaScript作用域学习笔记
- 剑指offer-----重建二叉树(java版)