我已经意识到我的几个列表视图控制器的行为方式相同,现在我想将它们抽象为一个名为 ListVC 的通用控制器。计划是在需要时创建 ListVC 的实例,并将该实例所需的所有特定内容传递给它。
例如,如果我需要一个客户列表,我会执行以下操作:
ListVC *customersVC = [[ListVC alloc] init];
customersVC.tableArray = self.customersList
在 ListVC 中,有时我需要知道某个对象的类类型。在我的示例中,数组self.customersList
中的对象来自 class CustomerClass
。我知道我可以将字符串转换为类名,但是当我在 ListVC 中有一个需要返回对象类型的方法时,这无济于事。例如,在 ListVC 中,这个旧的非抽象方法:
- (CustomerClass *)customerAfterFilter
应该是这样的:
- (self.objectClass *)objectAfterFilter
而且我会在它像这样实例化之后设置 objectClass 。
ListVC *customersVC = [[ListVC alloc] init];
customersVC.tableArray = self.customersList
customersVC.objectClass = [CustomerClass class];
我该怎么做这样的事情?或者,如果我的方法是错误的,请提出正确的方法。我是编程初学者。