如何访问其他类中的app delegate字段?

Upv*_*ote 3 cocoa-touch objective-c

在我的一个控制器中,我想访问我的app delegate的字段.因此,要检索应用程序委托,我使用以下代码:

[[UIApplication sharedApplication] delegate];
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试将其转换为我的委托名称时,我得到的错误是名称未声明.

我是否必须在要访问字段的类中导入应用程序委托的头文件?

sen*_*thu 10

你必须为app delegate提供头文件(MyAppDelegate.h).你可以访问appdelegate成员如下.请看链接

 MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
Run Code Online (Sandbox Code Playgroud)


Rya*_*sal 6

我是否必须在要访问字段的类中导入应用程序委托的头文件?

是.您还可以#import在预编译的头文件(.pch)文件中抛出该语句.这将为您提供项目中所有文件的特定类的引用.

或者,你总是可以玩危险的游戏,忽略编译器"可能没有响应"警告,只是发送没有演员表的消息到你的特定类.(视为一个id.)