This repository was archived by the owner on Jun 7, 2020. It is now read-only.
File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -21,7 +21,18 @@ class RealmAssorter<Object: RealmSwift.Object & UnmanagedConvertible> {
2121 var objects : Results < Object >
2222
2323 var section : ArraySection < String , Object . UnmanagedType > {
24- return ArraySection ( model: name, elements: objects. compactMap { $0. unmanaged } )
24+
25+ var elements = [ Object . UnmanagedType] ( )
26+ elements. reserveCapacity ( objects. count)
27+ for object in objects {
28+ guard let unmanaged = object. unmanaged else {
29+ continue
30+ }
31+
32+ elements. append ( unmanaged)
33+ }
34+
35+ return ArraySection ( model: name, elements: elements)
2536 }
2637 }
2738
@@ -62,7 +73,11 @@ class RealmAssorter<Object: RealmSwift.Object & UnmanagedConvertible> {
6273 self . model? . invalidate ( )
6374 self . model = model. observe { _ in
6475 let oldValue = self . sections
65- let newValue = self . results. map { $0. section }
76+ var newValue = [ ArraySection < String , Object . UnmanagedType > ] ( )
77+ newValue. reserveCapacity ( self . results. count)
78+ for result in self . results {
79+ newValue. append ( result. section)
80+ }
6681
6782 let changes = StagedChangeset ( source: oldValue, target: newValue)
6883
You can’t perform that action at this time.
0 commit comments