Skip to content

Commit 0812501

Browse files
committed
Remove all values in FUIArray on invalidation
Change-Id: If085e4e0a02803cc3bce9dac4140996a2256bc66
1 parent 0585239 commit 0812501

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

FirebaseDatabaseUI/FUIArray.m

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,19 @@ - (void)invalidate {
158158
for (NSNumber *handle in _handles) {
159159
[_query removeObserverWithHandle:handle.unsignedIntegerValue];
160160
}
161+
162+
// Remove all values on invalidation.
163+
[self didUpdate];
164+
for (NSInteger i = 0; i < self.snapshots.count; i++) {
165+
FIRDataSnapshot *current = self.snapshots[i];
166+
167+
[self.snapshots removeObjectAtIndex:i];
168+
169+
if ([self.delegate respondsToSelector:@selector(array:didRemoveObject:atIndex:)]) {
170+
[self.delegate array:self didRemoveObject:current atIndex:index];
171+
}
172+
}
173+
[self didFinishUpdates];
161174
}
162175

163176
- (NSUInteger)indexForKey:(NSString *)key {

0 commit comments

Comments
 (0)