大佬教程收集整理的这篇文章主要介绍了ios – 为什么要为app委托使用属性?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@property (nonatomic,unsafe_unretained) TheAppDelegate *appDelegate;
抛开这种耦合的设计含义,除了方便之外,appDelegate属性与检索应用委托相比还有什么好处:
TheAppDelegate *appDelegate = (TheAppDelegate *)[[UIApplication sharedApplication] delegate]; [appDelegate someMethod];
@class Foo : NSObject @property(strong) NsnotificationCenter *notificationCenter; @end @implementation Foo - (id) init { self = [super init]; [self setNotificationCenter:[NsnotificationCenter defaultCenter]]; return self; } @end
优点是您可以在依赖项上获得更松散的耦合.例如,您可以轻松提供自己的模拟实例.在某些情况下,它还会缩短代码,编写_notificationCenter而不是[NsnotificationCenter defaultCenter].
我能想到的第三个原因是声明属性使得依赖项显式化:通过查看公共API,您知道对象的状态或行为取决于应用程序委托.在类实现中使用单例完全隐藏了这一事实.
但是,如果您的应用程序中有许多控制器依赖于应用程序委托,则可能只是设计缺陷.
以上是大佬教程为你收集整理的ios – 为什么要为app委托使用属性?全部内容,希望文章能够帮你解决ios – 为什么要为app委托使用属性?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。