网站怎么做搜素引擎内容营销
继承(IMP融合):支持super命令码;继承推荐重写
分类(IMP替换):不支持super命令码;分类推荐组合
//替换(原来没了/破坏掉原来IMP/分类(替换特性))
情况1: 自封装(组件化)开源库>分类推荐组合
情况2:逆向分析> 有意替换>分类IMP替换
#import "CatagoryViewController.h"
#import "Game.h"
#import "Game+Additional.h"
@interface CatagoryViewController ()
@property(nonatomic,strong)Game *game;
@end@implementation CatagoryViewController- (void)viewDidLoad {[super viewDidLoad];self.game = [Game new];[self.game cheat];}@end
#import <Foundation/Foundation.h>@interface Game : NSObject
/*** 上下左右的操作*/
- (void)up;
- (void)down;
- (void)left;
- (void)right;
@end
#import "Game.h"@implementation Game
- (void)up {NSLog(@"Gameup");
}- (void)down {NSLog(@"Gamedown");
}- (void)left {NSLog(@"Gameleft");
}- (void)right {NSLog(@"Gameright");
}- (instancetype)init {return [super init];
}
@end
// 分类>补充部分(额外)#import "Game.h"@interface Game (Additional)
//新建cheat事件
//新sel
- (void)cheat;@end
// 分类(替换):不支持super命令码
// 分类推荐组合
// #import "Game+Additional.h"@implementation Game (Additional)
- (void)cheat {[self up];[self down];[self up];[self down];
}//分类(IMP替换)
//替换(原来没了/破坏掉原来IMP/分类(替换特性)不推荐原sel重写)
//
- (void)up {NSLog(@"1234536478965432");
}@end