How would I go about sending a reloadData message to the tableView from a custom tableViewCell?
The easiest way to implement that is to use Delegates.
Define a protocol in your CustomTableCell.h like this:
@protocol CustomTableCellDelegate <NSObject>
@required
- (void)reloadMyTable;
@end
The next step is to provide a delegate var:
@interface CustomTableCell : UITableViewCell {
id<CustomTableCellDelegate> delegate;
}
@property (assign) id<CustomTableCellDelegate> delegate;
Make shure you synthesize your delegate-Variable in the CustomTableCell.m.
Now you have a Delegate Defined. There are three remaining steps:
When you create your cell you have to set the delegate for this cell like
cell.delegate = self;
Make shure your TableViewController implements your CustomTableCellDelegate. If you do this you will be forced to implement the - (void)reloadMyTable in your TableViewController:
- (void)reloadMyTable {
[self.tableView reloadData];
}
The last step is to call this method from your CustomTableCell like this:
if (self.delegate != NULL && [self.delegate respondsToSelector:@selector(reloadMyTable)]) {
[delegate reloadMyTable];
}
More about Delegation here.
In short: You define a protocol in your CustomTableViewCell, which is implemented by the TableViewController. If you send a method-message to your delegate, this message will be send to your TableViewController.