如何从 viewcontroller viewdidload 方法触发视图中的功能 - 目标 c - iphone

Posted

技术标签:

【中文标题】如何从 viewcontroller viewdidload 方法触发视图中的功能 - 目标 c - iphone【英文标题】:how to trigger function in view from viewcontroller viewdidload method - objective c - iphone 【发布时间】:2009-11-05 12:36:42 【问题描述】:

我正在尝试在视图类中触发一个函数,一旦它完成加载,就从视图控制器中触发。

目前我要运行的代码是这样的

GameView *gameView = (GameView *)[[UIView sharedApplication] delegate]; 
[gameView loadText];

我从其他触发 appdelegate 类函数的代码中借用了这段代码。

我也不确定如何获得比 objc_exception_throw 更详细的错误消息,所以如果有人能告诉我如何进一步调试它,那就太好了。

此代码在 GameViewController.m 文件中运行,该文件确实导入了 GameView.h

警告 xcode 状态是

警告:“UIView”可能不会响应“+sharedApplication” 没有匹配方法签名的消息将被假定返回“id”并接受“...”作为参数。)

感谢您的帮助。如果我需要发布更多代码,请告诉我。

【问题讨论】:

【参考方案1】:

试试这个

GameView *gameView = (GameView *)[[UIApplication sharedApplication] delegate];
[gameView loadText];

山姆

PS 然而,UIApplication 的委托方法会给你一个应用委托,我希望它被命名为 GameAppDelegate 之类的东西——你正在转换为一个名为 GameView 的类,我假设它继承自 UIView——这几乎 100% 不是你期望做什么?

编辑:

如果 gameView 是与此视图控制器关联的视图,这应该可以工作:

GameView *gameView = (GameView *)self.view;
[gameView loadText];

【讨论】:

是的,你的权利,你能解释一下我应该做些什么不同的事情来让它工作,或者我可以遵循的一些教程会教我这个。谢谢。 查看我上面的编辑,但如果这不起作用,请添加更多详细信息:)

以上是关于如何从 viewcontroller viewdidload 方法触发视图中的功能 - 目标 c - iphone的主要内容,如果未能解决你的问题,请参考以下文章

UITableView帧高度动画故障

如何将数据从模态 ViewController 传输到父 ViewController?

如何从 navigationController(viewControllers/stack) 弹回指定 viewController?

如何从使用的 viewController 弹回根 ViewController?

如何将 PFFile 从一个 ViewController 传输到另一个 ViewController

你如何将数据从 ViewController 传递到包含单独 ViewController 的 PageViewController,然后这些 ViewController 将使用这些数据?