我审计有一个appDelegate
性能在许多视图控制器的一些代码。为什么使用应用程序委托的属性?
@property (nonatomic, unsafe_unretained) TheAppDelegate *appDelegate;
撇开这种耦合的设计的影响,是否有任何益处,比便利其它,一个appDelegate
属性的与检索应用程序委托:
TheAppDelegate *appDelegate = (TheAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate someMethod];
这是都非常主观的,所以我给你我的观点:AppDelegate中的任何类用途或功能不缩小系统和应用程序是一个代码味道。有一个属性引用它是双重的。我觉得获得它的丑陋方式本身就是一种沮丧(就像C++中的各种投射方法一样)。在这两种情况下都没有任何好处(一种是强制你记住设置或定义一个属性,另一个强制冗长)。 – CodaFi 2013-04-23 19:11:25
@CodaFi,有没有办法缩小这个问题,所以它不是*非常主观*?我主要好奇的是,如果我*必须*使用这样的代码,我的财产更好。 – 2013-04-23 19:14:56
这是一个主观因素,它是一个编码风格的问题,而不是一个关于具体数字的问题。您可能会收到的唯一答案是意见和经验。我可以给你一百万个案例,我曾经在某些案例中亲自使用过一个或另一个案例,但这绝不会构成权威性的答案。 – CodaFi 2013-04-23 19:18:28