标签:tps class article ring ace eth kvc null cat
学习链接:https://blog.csdn.net/cordova/article/details/54620397
话不多说,这篇博客说的很清楚了,在这就放测试的demo
.h文件 // // NSString+Category.h // learn_KVC // // Created by 蔡佳明 on 2020/10/15. // #import <Foundation/Foundation.h> NS_ASSUME_NONNULL_BEGIN @interface NSString (Category) { //不可以添加实例变量 } // 也不会生成getter setter方法 所以property基本没意义 //扩展一个类方法 +(void)categoryClassMethodOfString; // 扩展一个实例方法 -(void)categoryInstanceMethodOfString; @end NS_ASSUME_NONNULL_END .m文件 // // NSString+Category.m // learn_KVC // // Created by 蔡佳明 on 2020/10/15. // #import "NSString+Category.h" @implementation NSString (Category) //类方法可以实现 也可以不实现 但是不实现调用的话会导致程序崩溃 +(void)categoryClassMethodOfString { NSLog(@"categoryClassMethodOfString!!"); } -(void)categoryInstanceMethodOfString { NSLog(@"categoryInstanceMethodOfString!!"); } @end 测试文件 // // main.m // learn_KVC // // Created by 蔡佳明 on 2020/10/15. // #import <Foundation/Foundation.h> #import"NSString+Category.h" int main() { //调用类方法 [NSString categoryClassMethodOfString]; //调用实例方法 NSString *string=[NSString new]; [string categoryInstanceMethodOfString]; return 0; }
标签:tps class article ring ace eth kvc null cat
原文地址:https://www.cnblogs.com/caijiaming/p/13819542.html