Ho un controller di visualizzazione o una vista che implementa   delegate    e   dataSource    metodi di   UITableView   . 
Questi metodi non verranno utilizzati al di fuori di questa classe.
 Quindi è una buona idea rendere la dichiarazione di   UITableViewDataSource    e   UITableViewDelegate    nel file .m con una categoria privata? 
Ad esempio :
Invece di fare questo:
MyViewController.h
@interface MyViewController:UIViewController<UITableViewDataSource,UITableViewDelegate>
{}
@end
Ho inserito la dichiarazione nella categoria privata all'interno poiché non è necessario che altri oggetti sappiano se il mio controller di visualizzazione utilizza o meno un TableView.
MyViewController.m
@interface MyViewController()<UITableViewDataSource,UITableViewDelegate>
@end
e l'implementazione nel file .m è la stessa in entrambi i casi.