How to use UINib to instantiate and use custom UITableViewCells

cocoa-touch, ios, iphone, uikit, uitableview

Solution

- Create your xib file with a UITableViewCell as the top-level object. This is called Cell.xib

- Create a UINib object based on this file

- Register the UINib with the table view (typically in viewDidLoad of your table view controller subclass).

Steps 2 and 3 can be combined, so you would use the following line in viewDidLoad:

[self.tableView registerNib:[UINib nibWithNibName:@"Cell" bundle:nil] forCellReuseIdentifier:@"Cell"];

Then, in cellForRowAtIndexPath, if you want one of the cells from the nib, you dequeue it:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];

This either creates a new instance from the nib, or dequeues an existing cell.

Problem

how would i use UINibs to instantiate and use a UITableViewCell for a tableview in iOS5.0. I know there is a registerNib:forCellReuseIdentifier: in iOS5.0 that also needs to be used, but am not sure how to use it Thanks in advance for any help on this

Original source