AlecrimCoreData是一个为Swift设计的强大而优雅的Core Data框架。
用法
简单地这样做
let query = persistentContainer.viewContext.people
.where { \.city == "Piracicaba" }
.orderBy { \.name }
for person in query.dropFirst(20).prefix(10) {
print(person.name, person.address)
}
或者这样
persistentContainer.performBackgroundTask { context in
let query = context.people
.filtered(using: \.country == "Brazil" && \.isContributor == true)
.sorted(by: .descending(\.contributionCount))
.sorted(by: \.name)
if let person = query.first() {
print(person.name, person.email)
}
}
然后
import AlecrimCoreData
extension ManagedObjectContext {
var people: Query<Person> { return Query(in: self) }
}
let persistentContainer = PersistentContainer()
当然,在Xcode中创建匹配的托管对象模型之后。;-)
遗留版本
在6.0版本中,框架完全重写。现在
AlecrimCoreData 使用键路径,不再依赖于生成的(或编写的)自定义属性。同时,ACDGen 工具也不再需要。如果你的代码依赖于它,请使用之前的版本。
一些知名的功能和功能可能会在未来版本中重新实现。不过没有保证。
贡献
如果你有任何问题或需要更多信息,请使用提供的GitHub链接打开一个问题。
你也可以通过修复错误或创建新功能来做出贡献。在这种情况下,请将您的pull请求提交到这个存储库,因为我不太有时间“搜寻”分支以查找未提交的补丁。
- master - 生产分支。克隆或分叉此存储库以获取最新副本。
- 开发 - 活跃的开发分支。拉取请求应指向此分支。
联系作者
许可证
AlecrimCoreData 在 MIT 许可下发布。有关更多信息,请参阅 LICENSE。