Skip to content

Commit b680e07

Browse files
rafiki270common
authored andcommitted
Merge pull request #3 from rgilbe44-ford/memory-leak-fix
Fix memory leak when binding table data manager
1 parent d1d3eec commit b680e07

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

Presentables/Classes/Protocols/PresentableManager.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import Foundation
1010

1111

12-
public protocol PresentableManager {
12+
public protocol PresentableManager: class {
1313

1414
var bindableData: Observable<PresentableSections> { get }
1515
var data: PresentableSections { get set }

Presentables/Classes/Table views/Presentables+UITableView.swift

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,15 @@ extension UITableView: PresentableCollectionElement {
2828

2929
public func bind(withPresentableManager manager: inout PresentableManager) {
3030
let m = manager
31-
manager.bindableData.bind(listener: { (data) in
32-
for section: PresentableSection in m.data {
33-
self.register(section: section)
31+
manager.bindableData.bind { [weak m] (data) in
32+
if let data = m?.data {
33+
for section: PresentableSection in data {
34+
self.register(section: section)
35+
}
3436
}
37+
3538
self.safeReloadData()
36-
})
39+
}
3740

3841
register(presentableSections: &manager.data)
3942

0 commit comments

Comments
 (0)