Objective c @接口多重继承?
我在我的应用程序中使用Objective-C,我对@interface声明中的多重继承有疑问 基本上这就是我的.h现在的样子:Objective c @接口多重继承?,objective-c,ios,inheritance,interface,Objective C,Ios,Inheritance,Interface,我在我的应用程序中使用Objective-C,我对@interface声明中的多重继承有疑问 基本上这就是我的.h现在的样子: #import "cocos2d.h" @interface UIViewController (Save) - (void)saveImage:(UIImage*)image:(NSString*)imageName; - (void)removeImage:(NSString*)fileName; - (UIImage*)load
#import "cocos2d.h"
@interface UIViewController (Save)
- (void)saveImage:(UIImage*)image:(NSString*)imageName;
- (void)removeImage:(NSString*)fileName;
- (UIImage*)loadImage:(NSString*)imageName;
@end
@interface CCLayer (Save)
- (UIImage*)loadImage:(NSString*)imageName;
- (BOOL)checkExists:(NSString*)thePath;
@end
如您所见,我已经声明了loadImage方法两次。我不想这样做。这也意味着对于该方法,我必须在我的.m中有两次相同的代码
有没有办法将UIViewController和CCLayer混合到1@接口中,这样我就不必多次声明它
谢谢
ObjC没有多重继承。
您不希望在同一类中对同一SEL进行多个定义。
您可以声明并通过一个协议。然后在声明采用的@interface中定义loadImage:方法。您还可以在虚拟类别中声明它,然后在另一个@implementation作用域中定义loadImage:。
另一种方法是组合——基本上,您可以向类中添加一个类或协议实例变量,并让它执行工作。如果这是公共接口,那么您还可以为它提供访问器,或者根据需要包装它。如果每个@interface的50个方法可以在逻辑上细分,那么这是值得考虑的。
ObjC没有多重继承。
您不希望在同一类中对同一SEL进行多个定义。
您可以声明并通过一个协议。然后在声明采用的@interface中定义loadImage:方法。您还可以在虚拟类别中声明它,然后在另一个@implementation作用域中定义loadImage:。
另一种方法是组合——基本上,您可以向类中添加一个类或协议实例变量,并让它执行工作。如果这是公共接口,那么您还可以为它提供访问器,或者根据需要包装它。如果每个@interface的50个方法可以在逻辑上细分,那么这是值得考虑的。
目标CSo中没有多重继承,绝对没有解决方法?如果我有50种相同的方法呢?这是非常乏味和无组织的。在目标CSo中没有多重继承,绝对没有解决方法?如果我有50种相同的方法呢?这是非常乏味和无组织的。