0

我刚刚在一个应用程序中实现了 iAds,有几个不同的UIViewControllers. 我在每个应用程序中都有委托方法,用于显示和隐藏横幅,以及在期间创建横幅的设置- (void)bannerViewDidLoadAd:(ADBannerView *)banner方法- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)errorviewDidLoad.

为此,我首先让所有东西都正常工作,UIViewController然后将代码连同ivar声明、属性等复制到其他每个控制器中……

这不可能。每次我改变一个,我都必须改变它们。我的问题(终于!)是:有没有办法一次编写这些方法,以便所有类都可以访问它们?

谢谢!

4

1 回答 1

0

如果子类化没有意义,我建议创建 ac 函数。

如果这个函数伴随着其他相关函数,把它和它的亲戚放在一个库中。如果列表变得很长,那么上课可能是更好的选择。

如果这个函数是独立的并且特定于一个应用程序/项目,那么只需创建一个文件来声明所有这些奇怪的位(如果它们必须在多个翻译中重复使用)。如果位文件非常大,则可能存在一些设计问题。

有些人可能会推荐一个 objc 类别实例方法。我通常会避免分类,因为出错的可能性非常高。如果不引用 C 和 C++ 函数/类型,它们会被链接并轻松剥离。与类别,你不链接,它和方法中使用的符号不能被剥离。

如果两者在概念上(或物理上)绑定,则可以将其包含为单例的实例方法。否则,我建议将它们分开。

于 2010-10-26T21:03:55.890 回答