我正在编写我的第一个iPhone应用程序,切换视图时遇到困难.我有两个视图,在AppDelegate中每个视图都有一个引用(UIApplicationDelegate的一个实例).我在applicationDidFinishLaunching中创建了这两个视图的实例,并立即显示第一个视图.这个很好用.

问题是AppDelegate中引用了另一个视图,我不知道如何获取它的引用,以便切换到另一个视图.有没有办法获取对主要UIApplicationUIApplicationDelegate个对象的引用?

推荐答案

是的,UIApplication是一个单例应用程序,它使用Objective-C的正常单例模式:

[UIApplication sharedApplication];

您可以直接从中获取委托类:

MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];

Objective-c相关问答推荐

将 NSInteger 转换为 NSIndexpath

让 NSRunLoop 等待设置标志的最佳方法?

是否可以 suppress Xcode 4 静态分析器警告?

ios10:viewDidLoad 框架宽度/高度未正确初始化

表达式不可分配 - 将浮点数分配为 Xcode 中其他两个浮点数的总和时出现问题?

iOS 指定初始化器:使用 NS_DESIGNATED_INITIALIZER

从 NSString 创建 SHA1 哈希

增加推送通知徽章 iPhone

如果用户禁用了应用程序的推送,是否可以进行静默远程通知?

接口类型不能静态分配?

进入编辑模式时动画自定义绘制的 UITableViewCell

[NSNull null] 和 nil 有什么区别?

如何将 NSNumber 转换和比较为 BOOL?

以编程方式访问应用标识符前缀

UIWebView didFinishLoading 多次触发

如何从 UIGestureRecognizer 获取 UITouch 位置

可变集合有文字语法吗?

从视图中删除所有子图层

ARC 下的 NSString 属性应该是强的还是复制的?

xcode 5.1 中的 Arm64 架构