解决方法 : Proxy + 消息转发

#import "ViewController.h"
#import "MJProxy.h"
@interface ViewController ()
@property(nonatomic,strong)NSTimer *timer;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// NSTimer
self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:[MJProxy proxyWithTarget:self] selector:@selector(testLink) userInfo:nil repeats:YES];
}
- (void)testLink{
NSLog(@"%s",__func__);
}
- (void)dealloc{
NSLog(@"%s",__func__);
[self.timer invalidate];
}
@end
#import <Foundation/Foundation.h>
@interface MJProxy : NSObject
+ (instancetype)proxyWithTarget:(id)target;
@property(weak, nonatomic) id target;
@end
#import "MJProxy.h"
@implementation MJProxy
+ (instancetype)proxyWithTarget:(id)target
{
MJProxy *proxy = [[MJProxy alloc] init];
proxy.target = target;
return proxy;
}
//消息转发
- (id)forwardingTargetForSelector:(SEL)aSelector
{
return self.target;
}
@end
网友评论