4.2. Assigning a Delegate to a Table View
Problem
You have decided to assign a delegate to a table view.
Solution
Assign an object that conforms to the UITableViewDelegate protocol to the delegate property of your table view:
-(void)viewDidLoad{[superviewDidLoad];/* We want a full-screen Table View which is asbig as the View attached to the currentView Controller */CGRecttableViewFrame=self.view.bounds;self.myTableView=[[UITableViewalloc]initWithFrame:tableViewFramestyle:UITableViewStylePlain];self.myTableView.delegate=self;/* Add this Table View to our View */[self.viewaddSubview:self.myTableView];}
This code assigns the current object as the delegate of the table
view. myTableView is a property of
type UITableView belonging to the
calling view controller. The statement is embedded in
the viewDidLoad method, because the
calling object here is an instance of UIViewController, and this method is the right
place to put the statement so that the association is made just
once.
Discussion
The UITableView class defines a
property called delegate. The table
view should assign to this property an object that conforms to the
UITableViewDelegate protocol. In
other words, this delegate must promise to reply to the messages defined in this protocol, which are sent to the delegate object by the table view itself. Think of the delegate of a table view as an object that listens to various events sent by the table view, such as when a cell is selected or when the table view wants ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access