Метод делегата, который вы должны реализовать:
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
В этом прототипе метода tableView:
(обратите внимание на двоеточие) - это фиксированное имя, которое нельзя изменить. Второй экземпляр tableView
- это просто имя локальной переменной, которое имеет значение в методе. Следующее также будет действительным:
-(NSInteger)tableView:(UITableView *)tv numberOfRowsInSection:(NSInteger)section
Имена методов делегатов такие, какие они есть. Вы не можете решить, что хотите, чтобы имена методов делегата были чем-то другим, или как UITableView
узнает, какие методы нужно вызывать, когда ему нужна информация от его делегата?
Таким образом, для вашей таблицы favTableView, если вы указали объект, который реализует вышеуказанный метод делегата, как делегат favTableView, то при вызове локальной переменной tv
фактически будет таким же, как favTableView
.
Я вижу, где вы будете смущены по этому поводу. SDK использует tableView для многих вещей: имен местозаполнителей прототипов методов, имен переменных и кто знает, что еще. Это сводится к способности читать и понимать сигнатуры метода Objective-C. :-) Это немного странно, пока ты к этому не привыкнешь.