0

我们可以通过这些方式使用 AppDelegate 的对象说......

1)

AppDelegate *app; // Globally declared

app = (AppDelegate*)[[UIApplication sharedApplication] delegate]; //Use this any where in app

2)

#define     APP_DELEGATE ((AppDelegate*)[[UIApplication sharedApplication] delegate]) 

[APP_DELEGATE.navigationController ...]; //use macro any where in app

我想知道在性能和处理速度方面哪种方式更好?

4

2 回答 2

2

不要认为它会改变性能。老实说,它只是一个实用程序而不是其他任何东西。

于 2013-04-15T09:10:44.677 回答
2

这两种方法都不会成为应用程序性能的限制因素。首先写清楚,可读性和良好的结构。

不要试图通过查看使用的方法调用的数量来“提高性能”。方法调用实际上是免费的,除非您要进行数百万次调用。

如果您经常与来自任何地方的应用程序代表交谈而担心访问速度,那么您在应用程序的设计和实现中犯了一个可怕的错误。

“经常担心访问速度”是指 Instruments(您正在使用 Instruments,对吗?如果不使用它,您不能担心或提高应用程序的性能)告诉您获取对应用程序委托的引用是您当前的性能瓶颈。

于 2013-04-15T09:29:48.210 回答