加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

引用AppDelegate方法 – iphone

发布时间:2020-12-15 01:53:38 所属栏目:百科 来源:网络整理
导读:我有一个AppDelegate有3个视图。我加三个 [window addSubview:gameViewController.view];[window addSubview:viewSettings.view];[window addSubview:viewController.view];[window makeKeyAndVisible]; 在应用程序委托中,我有一些通过调用交换视图的方法 [
我有一个AppDelegate有3个视图。我加三个

[window addSubview:gameViewController.view];
[window addSubview:viewSettings.view];
[window addSubview:viewController.view];
[window makeKeyAndVisible];

在应用程序委托中,我有一些通过调用交换视图的方法

[window bringSubviewToFront:gameViewController.view];

当我在viewController里面时,我使用

pinkAppDelegate *appDelegate=  (pinkAppDelegate *)[[UIApplication sharedApplication] delegate];

[appDelegate switchToSettings];

切换我的子视图…到目前为止这么好。

但是,当我在我的viewSetting UIViewController,并做同样的appDelegate调用时,它会阻塞,就像它不明白如何调用appDelegate方法。

我的所有意见都挂在我的主窗口xib中,但是无法弄明白为什么我无法遍历主要appdelegate中的方法

解决方法

在viewController中,您正在设置一个名为appDelegate的局部变量,指向您的应用程序委托。这就是这条线:

pinkAppDelegate *appDelegate= (pinkAppDelegate *)[[UIApplication sharedApplication] delegate];

该变量是viewController的本地变量,因此您无法在设置视图控制器中使用它。你需要在那里设置另一个变量。

或者,在您的应用程序中使用这个很好的#define。 (您需要将其放在您的项目中每个文件中包含的.h头文件中。)

#define myAppDelegate (MyAppDelegate *)[[UIApplication sharedApplication] delegate]

那么你可以在以下任何地方做:

[myAppDelegate doSomething];

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读