iOS开发iOS Developer

iOS Category + Extension

2017-02-15  本文已影响228人  紧张的牛排
//NSObject+NSObjectCategory.h
@interface NSObject (NSObjectCategory)  
-(NSString *)className;    
@end
//NSObject+NSObjectCategory.m
@implementation NSObject (NSObjectCategory)          
//1.增加新方法
-(NSString *)className {
    return @"NSObject";
}

//2.覆盖原类的方法
-(NSString *)description {
    return @"Description of NSObject";
}
@end

分类特点

//Person.h
@interface Person : NSObject
- (void)test;
@end
//Person.m
#import "Person.h"

//下面这行就是Extension
@interface Person () {
    int _age;
}
@end

@implementation Person

- (void)test {
    NSLog(@"person test");
    [self run];
    NSLog(@"person test:%d", _age);
}

- (void)run {
    _age = 19;
}

- (void)work {
    _height = 12;
}

@end

扩展特点,上面代码@interface Person ()就是EXTENSION

如有错误,欢迎纠正。

上一篇 下一篇

猜你喜欢

热点阅读