CDClosures 0.1.0

CDClosures 0.1.0

youlianchun维护。



  • 作者:
  • youlianchun

CDClosures

CI Status Version License Platform

实现

*高频操作数据同步优化 *kill、APP后台、崩溃等极端条件下数据同步处理 *并发控制 *精确操作异常信息捕获处理 *关联xcdatamodeld实现model自动注册 *实现model与数据库操作绑定 *CoreData不同版本api兼容 *相对CoreData自身更加友好的接入方式

示例

要运行示例项目,请先克隆仓库,然后在Example目录中运行`pod install`。

// CoreData文件:data.xcdatamodeld  
// 包含模型:
//      Info {title: String?, message: String?}
//      Model {idx: Int32, time: Date?, info: Info?}

do {
try registerCDClosures("data") //第一步注册 CoreData 文件

try Model.delete(where:"idx = 3")
try Model.delete()

try Model.insert(count: 100) { (idx, m) in
m.time = Date()
m.idx = Int32(idx)
}

var i:Info?
try Info.insert(cb: { (info) in
info.title = "title"
info.message = "msg"
i = info
})
try Model.insert() { (m) in
m.time = Date()
m.idx = 101
m.info = i
}

try Model.update(where: "idx = 4") { (m) in
m.time = Date()
}

try Model.select(range: (10, 10), sorts: [("time", .asc)]) { (ms) in
for m in ms {
print("idx:\(m.idx)")
}
}
} catch let e {
print("\(e)")
}

注意事项

1.CDClosures使用throws进行异常信息传递,可以用do{}catch{}进行捕获
2.CDClosures包括线程锁,禁止在同一个CDClosures的闭包之间嵌套使用
3.CDClosures每次更新闭包执行后0.2秒内无其他更新或app进入后台时,则会进行异步提交
4.CDClosures每个Entity和Class的对应必须唯一
5.CDClosures批量操作,执行前会将内容进行持久化,批量处理会有一定的延迟

安装

CDClosures可以通过CocoaPods获得。要安装它,只需将以下行添加到您的Podfile中

pod 'CDClosures'

作者

youlianchun, [email protected]

许可证

CDClosures在MIT许可下可用。有关更多信息,请查看LICENSE文件。