我有一个包含不同方法的辅助类。我不想在我的应用程序中的每个类中都包含它的头文件。我觉得这种做法是对抗DNRY的。 这就是为什么我决定创建一个名为AppController的“主”类,并在我的应用程序中的每个类继承它。
这是我做的事情
AppController.h
#import <Foundation/Foundation.h>
#import "Helper.h"
@interface AppController : NSObject
{
ivars...
}
some methods ...
@end;
myClass.h
import "AppController.h"
@interface myClass : AppController
{
ivars...
}
some methods
@end
到目前为止,这么好。 当一些类需要继承而不是NSObject时,问题就出现了,但让我们说UIViewController。这是我的AppController变得无用的时刻。 我知道Objective-c不支持多重继承。我已经阅读过可以使用合成完成的地方,但我无法弄清楚如何做到这一点。 如果有人给我一些例子,我将不胜感激。
答案 0 :(得分:3)
我已经阅读过可以使用合成完成的地方,但我无法弄清楚如何做到这一点。如果有人给我一些例子,我将不胜感激。
是的,组成是你如何做到这一点。你的继承方法在几个层面都是错误的。
以下是您如何做到这一点:
答案 1 :(得分:2)
更好的方法是将#import "Helper.h"
添加到项目的预编译头文件(YourAppName-Prefix.pch)中。这样做相当于在项目的每个其他文件中导入帮助程序类头文件,而只是从一个位置管理它。