为啥无法初始化应用委托类?

Posted

技术标签:

【中文标题】为啥无法初始化应用委托类?【英文标题】:Why app delegate class cannot be initialized?为什么无法初始化应用委托类? 【发布时间】:2014-06-22 01:18:23 【问题描述】:

为什么我们不像初始化所有其他视图控制器类那样分配和初始化 appdelegate 类? 我是ios编程的初学者。请帮助

【问题讨论】:

【参考方案1】:

我们不分配应用委托,因为系统会为我们分配。请查看您的 Xcode 项目中的 main.m 类:

//
//  main.m
//

#import <UIKit/UIKit.h>

#import "AppDelegate.h"

int main(int argc, char * argv[])

    @autoreleasepool 
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    

【讨论】:

【参考方案2】:

如果你分配和初始化任何委托类,变量将为空,你不能使用方法。如果您想使用委托类中的任何变量或方法,请尝试这样的操作

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSString * deviceToken=appDelegate.deviceToken; 

我希望你得到你的答案。

【讨论】:

但是为什么变量会是 null ?这是我的问题。

以上是关于为啥无法初始化应用委托类?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Visual Basic 2010 应用程序在运行 2 年后无法初始化就好了

无法构造“DepartmentDataDelegate”,因为它没有可访问的初始值设定项

在 UIViewController 之外设置委托?

在 StateObject 初始化之前应用程序委托中的 Firebase 初始化

Natasha 高级编译类 - 第一部分

为啥只能在 C++ 类中初始化整数或枚举类型?