I've got three different UITableViews, each in it's own view, accessed via tabs. All three tables would ideally share the same custom UITableViewCell class and .xib file.
I started with one table, setting the class of the .xib to my custom class and the File's Owner of the .xib to the table's parent UIViewController, which works great. All of the custom view-related code is in the cell's class (background images based on a property set by the controller, custom cell height based on the number of lines a label requires based on a cell property set by the controller, etc.).
The result is nice: the cell is responsible for all of the visual layout and responding to user actions on the cell's controls, while the view controller is responsible for creating the cells and setting their data.
Now that I need to reuse the cell in other tables, though, the fact that the custom cell's .xib has a single File's Owner is a problem. Rather than duplicating the .xib file, is there a simple way to allow multiple controllers to own it?
UITableView
's delegate method- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath
? – Nahama