iOS 声明一个基类方法

2019-08-23  本文已影响0人  风___________

#define MethodNotImplemented() \
@throw \
[NSException exceptionWithName:NSInternalInconsistencyException \
reason:[NSString stringWithFormat:@"You must override %@ in a subclass", NSStringFromSelector(_cmd)] \
userInfo:nil]

.h

@interface DrawMapModelBase : NSObject
#pragma mark 辅助方法
// 子类必须实现
- (BOOL)thisDrawMapModelIsCanBeSeenByTimetag:(NSTimeInterval)time
                                 AndMaxValue:(CGFloat)maxValue
                                 AndMinValue:(CGFloat)minValue;
@end

.m


#import "DrawMapModelBase.h"

@implementation DrawMapModelBase
// 这个model对应的图当前是否可见(子类必须实现)
- (BOOL)thisDrawMapModelIsCanBeSeenByTimetag:(NSTimeInterval)time
                                 AndMaxValue:(CGFloat)maxValue
                                 AndMinValue:(CGFloat)minValue{
    MethodNotImplemented();
}
@end

如果子类没有实现这个方法就会崩

上一篇 下一篇

猜你喜欢

热点阅读