测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可协议 | Apache 2 |
发布时间最新发布 | 2017年11月 |
SwiftSwift 版本 | 4.0 |
SPM支持 SPM | ✗ |
由 Niels Koole 维护。
RealmSugar 是用来去除在 realm 实例上获取通知时不需要的代码的语法糖。
RealmSugar 只是一个 15 行代码的扩展,使得获取通知更易读。您需要更少的样板代码即可获取每个 realm 实例的更新。
接收所有更改属性的通知。
let instance = Employee()
let token = instance.notify { [weak self] (employee) in
// Update label
self?.textLabel.text = employee.name
}
在特定属性更新时接收通知。
let instance = Employee()
let token = instance.notify(for: #keyPath(Employee.name)) { [weak self] (employee) in
// Update label
self?.textLabel.text = employee.name
}
let token = instance.notify(for: [#keyPath(Employee.name)]) { [weak self] (employee) in
// Update label
self?.textLabel.text = employee.name
}
在初始化和更新时接收通知。
let instance = Employee()
let token = instance.fireAndNotify(for: #keyPath(Employee.name)) { [weak self] (employee) in
// Update label
self?.textLabel.text = employee.name
}
let token = instance.fireAndNotify(for: [#keyPath(Employee.name)]) { [weak self] (employee) in
// Update label
self?.textLabel.text = employee.name
}
接收所有更改对象的通知。
let realm = try! Realm()
let token = realm.objects(Employee.self).notify { [weak self] (employees) in
// Log all employees
employees.forEach { dump($0) }
}
指定希望接收哪种更新类型的通知。
let realm = try! Realm()
let token = realm.objects(Employee.self).notify(when: .inserted) { [weak self] (employees) in
// Log all employees
employees.forEach { dump($0) }
}
let token = realm.objects(Employee.self).notify(when: [.inserted, .deleted]) { [weak self] (employees) in
// Log all employees
employees.forEach { dump($0) }
}
在初始化和更新时接收通知。
let realm = try! Realm()
let token = realm.objects(Employee.self).fireAndNotify(when: .inserted) { [weak self] (employees) in
// Log all employees
employees.forEach { dump($0) }
}
let token = realm.objects(Employee.self).fireAndNotify(when: [.inserted, .modified]) { [weak self] (employees) in
// Log all employees
employees.forEach { dump($0) }
}
请提交任何有助于改进此项目的 pull requests,所有帮助都是受欢迎的。
RealmSugar 在 Apache 许可下发布。有关详细信息,请参阅 LICENSE。