ios - 不同UIViewController的调用方法

标签 ios objective-c uiviewcontroller

我正在制作主细节应用程序,我有动态细节 View Controller 。详情 ViewController 已更改。

但是在每个 Detail ViewController 中我都有一个通用方法 updateInfo 我想调用那个方法

这是我的代码

UINavigationController *nav=[self.splitViewController.viewControllers objectAtIndex:1];
 UIViewController *controller=[nav.viewControllers objectAtIndex:0];
 [controller updateLastInfo];

但它给了我错误,找不到方法。

如果我使用 UIViewController 名称,它将起作用。

  HomeViewController *controller=(HomeViewController)[nav.viewControllers objectAtIndex:0];
     [controller updateLastInfo];

但我不想做以上的事情

我已经尽力解释了。请帮忙

最佳答案

你可以使用id

 UINavigationController *nav=[self.splitViewController.viewControllers objectAtIndex:1];
    id controller=[nav.viewControllers objectAtIndex:0];
    [controller updateLastInfo];

关于ios - 不同UIViewController的调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25165785/

相关文章:

ios - viewWillTransition 给出了错误的大小

iphone - 注册应用程序以从 Safari 的 "share"或 "open in..."对话框打开不起作用。 (虽然适用于其他应用程序)

ios - 打开 Instagram 帖子 iPhone Hook 停止工作

ios - 按两个值对 NSMutableArray 进行排序

ios - 当我的 if 语句为 false 时,我的 UILabel 不显示

ios - 相同的 View Controller 显示不同

ios - Segue 在 DidSelectAtRow 函数之前执行

ios - base64编码的图像并将其添加到UIImage

iOS SWRevealViewController 如何以编程方式隐藏左侧部分

外部库中的 iOS Core Foundation 内存泄漏