跨类调用方法

时间:2014-09-20 12:26:12

标签: ios objective-c class methods

我的应用中有两个视图。在第一个视图中,我有一个表视图,显示从Internet下载的数据。 FirstViewController有一种获取数据并更新视图的方法:

- (void)viewDidLoad
{
    // Create PlanGenerator
    _planGenerator = [[PlanGenerator alloc] init]

    [self loadPlan];

- (void)loadPlan
{
    _plan = [_planGenerator getData]

    // Updating the view

    // Updating the table view
    [self.tableView reloadData]
}

要从互联网上下载数据,我有一个名为PlanGenerator的课程。该类有一个名为getData的实例方法,它返回一个NSArray。表视图使用实例变量_plan(数组)在表视图中显示数据。

在第二个视图中(由SecondViewController控制),您可以对下载内容进行一些调整。为了告诉这些变化PlanGenerator我使用了class properties的概念。现在,当我在第二个视图中更改了某些内容(实际上它只是一个参数)时,我想从loadPlan调用方法FirstViewController

我的第一个想法是创建一个类方法,但是我必须为方法使用的每个变量创建“类属性”。

有更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

你缺少一些基础知识。

尝试此设计,假设FirstVC用于显示数据并具有tableview。 SecondVC(您的PlanGenerator)用于获取/下载数据。

在SecondVC中:

  1. 创建FirstVC将决定下载内容的任何属性(参数等说明标准)。

  2. 创建公共方法getData。

  3. 在FirstVC中:

    1. 创建一个iVar(说_myPlanGeneartor)并分配它。
    2. 现在,从FirstVC的实例,您可以访问SecondVC的实例(_myPlanGenerator)。有了它,您可以提供条件参数和请求数据(getData)。