0

我有 ADMINviewController,它包含一个 UITableView 并包含一个名为Request的函数,该函数从服务器加载设备并填充 UITableView,当我选择一个单元格时,它是一个设备名称,VehicleInfoViewController 作为一个子视图打开,让我更改设备名称。

所以我想要的是在显示设备名称已成功更改的消息后调用请求函数,以便从服务器重新加载数据并使用新的设备名称更新 UITableView。

如何从子视图调用请求函数?

4

2 回答 2

2

上面的方法(由 Rafael)也可以被 subView 用来调用位于该 subView 的 viewController 中的方法。只需确保添加必要的方法以避免编译器警告,例如,使用

@synthesize adminController

在上述示例的 VehicleInfoViewController 类的实现中。这也可以从任何具有 VehicleInfoViewController 实例的对象中调用。例如,假设 parentObject 包含一个 vehicleInfoViewController 成员变量,在 parentObject 中调用 Request 如下所示:

[parentObject.adminController performSelector:@selector(Request)];
于 2012-12-06T09:57:17.057 回答
2

如果要从 VehicleInfoViewController 类调用 ADMINviewController 类中的 Request 方法,则应将 ADMINviewController 实例的指针传递给 VehicleInfoViewController。

像这样将 id 属性添加到 VehicleInfoViewController 类:

@property(nonatomic,assign)id adminController;

然后在创建 VehicleInfoViewController 实例后,将 self 指针传递给它,如下所示:

vehicleInfoViewController = [[VehicleInfoViewController alloc] initWithNibName:@"vehicleInfoViewController" bundle:nil];
vehicleInfoViewController.adminController = self;

当您需要在 vehicleInfoViewController 中调用 Request 方法时,请执行以下操作:

[self.adminController performSelector:@selector(Request)];
于 2012-09-14T09:02:27.230 回答