From a2dc4b0da5f93acdc74dc8f8937ada0a78f5c6dd Mon Sep 17 00:00:00 2001 From: Cory Imdieke Date: Wed, 10 Feb 2016 13:47:41 -0600 Subject: [PATCH] Added subscripting support to FirebaseArray --- FirebaseUI/Core/API/FirebaseArray.h | 13 +++++++++++++ FirebaseUI/Core/Implementation/FirebaseArray.m | 8 ++++++++ 2 files changed, 21 insertions(+) mode change 100644 => 100755 FirebaseUI/Core/Implementation/FirebaseArray.m diff --git a/FirebaseUI/Core/API/FirebaseArray.h b/FirebaseUI/Core/API/FirebaseArray.h index cd39edd40ae..04e1118cbaa 100644 --- a/FirebaseUI/Core/API/FirebaseArray.h +++ b/FirebaseUI/Core/API/FirebaseArray.h @@ -102,6 +102,19 @@ */ - (Firebase *)refForIndex:(NSUInteger)index; +/** + * Support for subscripting. Resolves to objectAtIndex: + * @param index The index of the item to retrieve + * @return The object at the given index + */ +- (id)objectAtIndexedSubscript:(NSUInteger)idx; + +/** + * Support for subscripting. This method is unused and trying to write directly to the + * array using subscripting will cause an assertion. + */ +- (void)setObject:(id)obj atIndexedSubscript:(NSUInteger)idx; + #pragma mark - #pragma mark Private API methods diff --git a/FirebaseUI/Core/Implementation/FirebaseArray.m b/FirebaseUI/Core/Implementation/FirebaseArray.m old mode 100644 new mode 100755 index 1158fc92659..47f2218c3c4 --- a/FirebaseUI/Core/Implementation/FirebaseArray.m +++ b/FirebaseUI/Core/Implementation/FirebaseArray.m @@ -152,4 +152,12 @@ - (Firebase *)refForIndex:(NSUInteger)index { return [(FDataSnapshot *)[self.snapshots objectAtIndex:index] ref]; } +- (id)objectAtIndexedSubscript:(NSUInteger)index{ + return [self objectAtIndex:index]; +} + +- (void)setObject:(id)obj atIndexedSubscript:(NSUInteger)index{ + NSAssert(NO, @"Subscripting is read-only on FirebaseArray"); +} + @end