我是IOS的新手。我有一个简单的问题。我想从另一个文件访问AppDelegate.h文件中的window属性。另外,我无法将AppDelegate.h文件导入到另一个文件中,因为这些文件会不断地互相导入。是否可以从AppDelegate.h文件外部访问window属性?
感谢
答案 0 :(得分:2)
id appDelegate = [UIApplication sharedApplication].delegate;
UIWindow *window = [appDelegate valueForKey:@"window"];
UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
<3> Option3使用UIApplication的windoss属性此属性保存最近发送makeKeyAndVisible消息的windows数组中的UIWindow对象。
NSArray * array = [[UIApplication sharedApplication] windows];
此属性包含当前与应用关联的UIWindow对象。此列表不包括由系统创建和管理的窗口,例如用于显示状态栏的窗口。
阵列中的窗口按窗口级别从后向前排序;因此,数组中的最后一个窗口位于所有其他应用程序窗口之上。
答案 1 :(得分:0)
如下所示设置AppDelegate
的全局变量,这样您就可以随时使用AppDelegate的/ access属性。
appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
您可以通过
访问窗口对象appDelegate.window ...
注意:不要忘记在AppDelegate的.h文件中添加declare对象
AppDelegate *appDelegate;