美文网首页
iOS 声明一个基类方法

iOS 声明一个基类方法

作者: 风___________ | 来源:发表于2019-08-23 19:45 被阅读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
    

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

    相关文章

      网友评论

          本文标题:iOS 声明一个基类方法

          本文链接:https://www.haomeiwen.com/subject/vkqxectx.html