From df4ea9e10483bf28996ba7f44aca6a43e8e660d2 Mon Sep 17 00:00:00 2001 From: Roman Efimov Date: Thu, 4 Apr 2013 15:55:19 -0500 Subject: [PATCH] Use RETableViewItem as base item class --- RETableViewManager/Cells/RETableViewStringCell.h | 2 -- RETableViewManager/Cells/RETableViewStringCell.m | 2 +- RETableViewManager/RETableViewCell.h | 3 ++- RETableViewManager/RETableViewItem.h | 6 +++--- RETableViewManager/RETableViewManager.m | 2 +- .../RETableViewManagerExample.xcodeproj/project.pbxproj | 4 ++-- 6 files changed, 9 insertions(+), 10 deletions(-) diff --git a/RETableViewManager/Cells/RETableViewStringCell.h b/RETableViewManager/Cells/RETableViewStringCell.h index 2b8f683..7294ec3 100644 --- a/RETableViewManager/Cells/RETableViewStringCell.h +++ b/RETableViewManager/Cells/RETableViewStringCell.h @@ -27,6 +27,4 @@ @interface RETableViewStringCell : RETableViewCell -@property (strong, readwrite, nonatomic) NSString *item; - @end diff --git a/RETableViewManager/Cells/RETableViewStringCell.m b/RETableViewManager/Cells/RETableViewStringCell.m index cdbca5d..3e26dd4 100644 --- a/RETableViewManager/Cells/RETableViewStringCell.m +++ b/RETableViewManager/Cells/RETableViewStringCell.m @@ -41,7 +41,7 @@ - (void)prepare { if ([self.item isKindOfClass:[NSString class]]) { - self.textLabel.text = self.item; + self.textLabel.text = (NSString *)self.item; } else { RETableViewItem *item = (RETableViewItem *)self.item; self.textLabel.text = item.title; diff --git a/RETableViewManager/RETableViewCell.h b/RETableViewManager/RETableViewCell.h index 1cd6434..7d36cfe 100644 --- a/RETableViewManager/RETableViewCell.h +++ b/RETableViewManager/RETableViewCell.h @@ -28,6 +28,7 @@ #import "REActionBar.h" @class RETableViewManager; +@class RETableViewItem; @interface RETableViewCell : UITableViewCell @@ -37,7 +38,7 @@ @property (weak, readwrite, nonatomic) UITableView *parentTableView; @property (weak, readwrite, nonatomic) RETableViewManager *tableViewManager; @property (weak, readwrite, nonatomic) RETableViewSection *section; -@property (strong, readwrite, nonatomic) NSObject *item; +@property (strong, readwrite, nonatomic) RETableViewItem *item; @property (strong, readwrite, nonatomic) REActionBar *actionBar; + (CGFloat)heightWithItem:(NSObject *)item tableViewManager:(RETableViewManager *)tableViewManager; diff --git a/RETableViewManager/RETableViewItem.h b/RETableViewManager/RETableViewItem.h index facc0d0..6ea3761 100644 --- a/RETableViewManager/RETableViewItem.h +++ b/RETableViewManager/RETableViewItem.h @@ -31,15 +31,15 @@ @interface RETableViewItem : NSObject @property (copy, readwrite, nonatomic) NSString *title; -@property (copy, readwrite, nonatomic) void (^actionBlock)(id item); -@property (copy, readwrite, nonatomic) void (^accessoryButtonActionBlock)(id item); +@property (weak, readwrite, nonatomic) RETableViewSection *section; @property (assign, readwrite, nonatomic) BOOL performActionOnSelection; @property (assign, readonly, nonatomic) BOOL canFocus; -@property (weak, readwrite, nonatomic) RETableViewSection *section; @property (copy, readwrite, nonatomic) NSString *detailLabelText; @property (assign, readwrite, nonatomic) UITableViewCellStyle cellStyle; @property (assign, readwrite, nonatomic) UITableViewCellAccessoryType accessoryType; @property (strong, readwrite, nonatomic) UIView *accessoryView; +@property (copy, readwrite, nonatomic) void (^actionBlock)(id item); +@property (copy, readwrite, nonatomic) void (^accessoryButtonActionBlock)(id item); + (id)item; + (id)itemWithTitle:(NSString *)title accessoryType:(UITableViewCellAccessoryType)accessoryType actionBlock:(void(^)(RETableViewItem *item))actionBlock; diff --git a/RETableViewManager/RETableViewManager.m b/RETableViewManager/RETableViewManager.m index 95ee858..c0fd692 100644 --- a/RETableViewManager/RETableViewManager.m +++ b/RETableViewManager/RETableViewManager.m @@ -103,7 +103,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { RETableViewSection *section = [_sections objectAtIndex:indexPath.section]; - NSObject *item = [section.items objectAtIndex:indexPath.row]; + RETableViewItem *item = [section.items objectAtIndex:indexPath.row]; UITableViewCellStyle cellStyle = UITableViewCellStyleDefault; if ([item isKindOfClass:[RETableViewItem class]]) diff --git a/RETableViewManagerExample/RETableViewManagerExample.xcodeproj/project.pbxproj b/RETableViewManagerExample/RETableViewManagerExample.xcodeproj/project.pbxproj index 6146ab8..b1f99ca 100644 --- a/RETableViewManagerExample/RETableViewManagerExample.xcodeproj/project.pbxproj +++ b/RETableViewManagerExample/RETableViewManagerExample.xcodeproj/project.pbxproj @@ -217,10 +217,10 @@ 30DB065616E934AD006C9530 /* RECreditCardItem.m */, 30DB065716E934AD006C9530 /* RENumberItem.h */, 30DB065816E934AD006C9530 /* RENumberItem.m */, - 30DB065B16E934AD006C9530 /* RETextItem.h */, - 30DB065C16E934AD006C9530 /* RETextItem.m */, 30F41319170E0F620004EBAE /* RERadioItem.h */, 30F4131A170E0F620004EBAE /* RERadioItem.m */, + 30DB065B16E934AD006C9530 /* RETextItem.h */, + 30DB065C16E934AD006C9530 /* RETextItem.m */, ); path = Items; sourceTree = "";