Objective-C学习笔记-Category

Category可以为任何已有类添加或者替换方法,即使没有源代码,但是不能添加实例变量

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface NSString(TestClass)
-(int) getTestValue;
@end

NS_ASSUME_NONNULL_END
#import "TestClass.h"


@implementation NSString(TestClass)

- (int)getTestValue
{
    return 100;
}

@end
#import <Foundation/Foundation.h>
#import "TestClass.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSString *testString=@"hello";
        NSLog(@"test value is %d",[testString getTestValue]);
        
    }
    return 0;
}
posted @ 2018-10-13 00:40  土豆吞噬者  阅读(69)  评论(0编辑  收藏  举报