Objective c 应用程序委托类的要点

Objective c 应用程序委托类的要点,objective-c,Objective C,在Objective-C中将变量和方法签名放在ApplicationLegate.h中的要点是什么?通过这样做,其他视图控制器类可以看到所有这些方法和变量?这就是重点吗 还有:每个项目中是否只有一个应用程序委托类?应用程序委托,是的,每个应用程序只有一个是Cocoa和Cocoa Touch应用程序中控制器层的主干。其主要功能是定制NS/UIApplication在某些情况下的行为,如应用程序终止、应用程序打开等。。它还通常用于将代理分配给其他响应者,如表视图、大纲视图等 在小型应用程序中,它通常

在Objective-C中将变量和方法签名放在ApplicationLegate.h中的要点是什么?通过这样做,其他视图控制器类可以看到所有这些方法和变量?这就是重点吗


还有:每个项目中是否只有一个应用程序委托类?

应用程序委托,是的,每个应用程序只有一个是Cocoa和Cocoa Touch应用程序中控制器层的主干。其主要功能是定制NS/UIApplication在某些情况下的行为,如应用程序终止、应用程序打开等。。它还通常用于将代理分配给其他响应者,如表视图、大纲视图等


在小型应用程序中,它通常充当大多数接口元素的委托和数据源,但正如Felixyz指出的那样,如果应用程序增长,这可能会迅速恶化。

通过这样做,所有这些方法和变量都会被另一个视图控制器类看到?这就是重点吗

当然,任何导入应用程序控制器头的类都可以访问公共属性、方法和IVAR,但这适用于任何类,而不仅仅是应用程序委托

将整个应用程序所需的一些重要对象和方法放在应用程序委托中是非常常见的。通过这种方式,是的,这就是为什么您会看到在app delegate类上定义的变量和方法

这有时是有道理的,但它会很快恶化为非常糟糕的设计。您应该确保不要将应用程序委托用作可以在应用程序中抛出所有共享状态和功能的篮子。我正在处理一些代码,其中有人现在就这么做了,而且很难更改和重构功能

这只是众所周知的将全局状态用于一切的问题的一个版本。简而言之,您应该分析功能并将其划分为单独的类或类组。尽量让你的应用程序代理保持苗条


编辑:…并阅读此问题。

@ahmet732:这是什么评论?@Felixyz他漏掉了一个“?”,当你想象有六个时更容易理解。抱歉:ı想问一下在app delegate中识别一些变量和方法如何?非常感谢你的回答。。这是非常不可靠的..感谢您添加了appDelegate函数的定义。