假设你有一个2子类的tableView控制器。
它们在标题底部的顶部都有相同的页眉和页脚视图。他们都实现了拉动刷新。
它们都有一些共同特征。
唯一不同的是一个用于显示整个业务,另一个用于仅显示您收藏的商家。
看起来他们都需要拥有相同的父类,并且在子类上解析了不同的父类。不管怎样,差异很小。
我认为父母拥有自己的XIB,孩子们拥有自己的XIB。
嗯......怎么会有效?除容器UIViewController外,每个控制器都应查看内容的完整视图。那么我们应该展示哪种观点?孩子还是超级?子视图是否应该添加超类子视图?有人曾尝试过吗?
网络上使用此方法的任何代码示例?
答案 0 :(得分:1)
听起来,基于您解释的业务逻辑,除了您要呈现的数据列表之外,一切都是共同的。您可以在UITableViewController
子类上公开属性,以设置tableview呈现的业务对象:
@interface JTBusinessesTableViewController : UITableViewController
@property (nonatomic, strong) NSArray *businesses;
@end
实例化此类的代码将设置业务对象:
JTBusinessesTableViewController *businessListings; //Instantiate from XIB or Storyboard
businessListings.businesses = [self bookmarkedBusinesses];
[self.navigationController pushViewController:businessListings animated:YES]
显示所有商家的代码不会有太大差异:
JTBusinessesTableViewController *businessListings; //Instantiate from XIB or Storyboard
businessListings.businesses = [self allBusinesses]; // Here we assign all of them
[self.navigationController pushViewController:businessListings animated:YES]
您只是选择性地为此视图控制器提供要显示的业务对象。