基本的に、次の問題に対する最良の解決策が必要です。
// A.h
@interface A : NSObject
@end
// A.m
#import "A.h"
@implementation A
- (id)init
{
self = [super init];
if (self) {
[self childWillOverride];
}
return self;
}
- (void)childWillOverride {
NSLog(@"childWillOverride - A");
}
@end
// B.h
#import <UIKit/UIKit.h>
#import "A.h"
@interface B : A
@end
// B.m
#import "B.h"
@implementation B
- (id)init
{
self = [super init];
if (self) {
[self childWillOverride];
}
return self;
}
- (void)childWillOverride {
[super childWillOverride]; // This is not possible
NSLog(@"childWillOverride - B");
}
@end
関数名を Ah に移動したくない、または関数名の新しいカテゴリまたは .h ファイルを作成したくない。他のアイデアはありますか?