Skip to content

Commit 2797943

Browse files
committed
add null_resettable to data sources
1 parent e624ecf commit 2797943

File tree

4 files changed

+34
-3
lines changed

4 files changed

+34
-3
lines changed

FirebaseUI/Database/API/FirebaseCollectionViewDataSource.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,9 @@ NS_ASSUME_NONNULL_BEGIN
5252
* to [Message class] in Obj-C or Message.self in Swift, then objects of type
5353
* Message will be
5454
* returned instead of type FIRDataSnapshot.
55+
* Defaults to FIRDataSnapshot.
5556
*/
56-
@property(strong, nonatomic, nullable) Class modelClass;
57+
@property(strong, nonatomic, null_resettable) Class modelClass;
5758

5859
/**
5960
* The cell class to coerce UICollectionViewCells to (if desired). For instance,
@@ -62,8 +63,9 @@ NS_ASSUME_NONNULL_BEGIN
6263
* in Swift, then
6364
* objects of type CustomCollectionViewCell will be returned instead of type
6465
* UICollectionViewCell.
66+
* Defaults to UICollectionViewCell.
6567
*/
66-
@property(strong, nonatomic, nullable) Class cellClass;
68+
@property(strong, nonatomic, null_resettable) Class cellClass;
6769

6870
/**
6971
* The reuse identifier for cells in the UICollectionView.

FirebaseUI/Database/API/FirebaseTableViewDataSource.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,9 @@ NS_ASSUME_NONNULL_BEGIN
5151
* to [Message class] in Obj-C or Message.self in Swift, then objects of type
5252
* Message will be
5353
* returned instead of type FIRDataSnapshot.
54+
* Defaults to FIRDataSnapshot.
5455
*/
55-
@property(strong, nonatomic) Class modelClass;
56+
@property(strong, nonatomic, null_resettable) Class modelClass;
5657

5758
/**
5859
* The reuse identifier for cells in the UITableView.

FirebaseUI/Database/Implementation/FirebaseCollectionViewDataSource.m

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,4 +294,22 @@ - (void)populateCellWithBlock:(void (^)(__kindof UICollectionViewCell *cell,
294294
self.populateCell = callback;
295295
}
296296

297+
#pragma mark - Accessors
298+
299+
- (void)setModelClass:(Class)modelClass {
300+
if (modelClass == nil) {
301+
_modelClass = [FIRDataSnapshot class];
302+
} else {
303+
_modelClass = modelClass;
304+
}
305+
}
306+
307+
- (void)setCellClass:(Class)cellClass {
308+
if (cellClass == nil) {
309+
_cellClass = [UICollectionViewCell class];
310+
} else {
311+
_cellClass = cellClass;
312+
}
313+
}
314+
297315
@end

FirebaseUI/Database/Implementation/FirebaseTableViewDataSource.m

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,4 +295,14 @@ - (void)populateCellWithBlock:(void (^)(__kindof UITableViewCell *cell,
295295
self.populateCell = callback;
296296
}
297297

298+
#pragma mark - Accessors
299+
300+
- (void)setModelClass:(Class)modelClass {
301+
if (modelClass == nil) {
302+
_modelClass = [FIRDataSnapshot class];
303+
} else {
304+
_modelClass = modelClass;
305+
}
306+
}
307+
298308
@end

0 commit comments

Comments
 (0)