From c46aa839eb5c09403cb3c57ec3754761804f688d Mon Sep 17 00:00:00 2001 From: Roman Efimov Date: Tue, 18 Jun 2013 11:03:33 -0500 Subject: [PATCH] Use subscripting for item class mapping --- RETableViewManager/RETableViewManager.h | 3 +++ RETableViewManager/RETableViewManager.m | 10 ++++++++++ .../Classes/Controllers/ListViewController.m | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/RETableViewManager/RETableViewManager.h b/RETableViewManager/RETableViewManager.h index 9383a49..a6415bf 100644 --- a/RETableViewManager/RETableViewManager.h +++ b/RETableViewManager/RETableViewManager.h @@ -168,6 +168,9 @@ ///----------------------------- - (Class)classForCellAtIndexPath:(NSIndexPath *)indexPath; +- (id)objectAtKeyedSubscript:(id )key; +- (void)setObject:(id)obj forKeyedSubscript:(id )key; + @end diff --git a/RETableViewManager/RETableViewManager.m b/RETableViewManager/RETableViewManager.m index b7189e0..e0a78c5 100644 --- a/RETableViewManager/RETableViewManager.m +++ b/RETableViewManager/RETableViewManager.m @@ -86,6 +86,16 @@ [_mapping setObject:identifier forKey:objectClass]; } +- (id)objectAtKeyedSubscript:(id )key +{ + return [_mapping objectForKey:key]; +} + +- (void)setObject:(id)obj forKeyedSubscript:(id )key +{ + [self registerClass:(NSString *)key forCellWithReuseIdentifier:obj]; +} + - (Class)classForCellAtIndexPath:(NSIndexPath *)indexPath { RETableViewSection *section = [_sections objectAtIndex:indexPath.section]; diff --git a/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ListViewController.m b/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ListViewController.m index df4ad89..7e68593 100644 --- a/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ListViewController.m +++ b/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ListViewController.m @@ -27,7 +27,7 @@ // Map item to a cell // - [_manager registerClass:@"ListImageItem" forCellWithReuseIdentifier:@"ListImageCell"]; + _manager[@"ListImageItem"] = @"ListImageCell"; // which is the same as [_manager registerClass:@"ListImageItem" forCellWithReuseIdentifier:@"ListImageCell"]; // Set some UITableView properties //