类别与委托协议的结合使用示例
在这段代码中,展示了如何通过类别为NSObject类添加一个新的speak方法。类别名为menAdd,它是对Men类的扩展。在方法实现中,使用了NSLog来打印信息。
#import "Men.h"
@interface NSObject(menAdd) // 类别名 menAdd,扩展了 Men 类
-(void)speak;
@end
@implementation NSObject(menAdd)
-(void)speak {
NSLog(@"我是NSObject类中以类别实现的speak方法");
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *str = [[NSString alloc] init];
[str speak];
}
return 0;
}
代码中的 speak 方法并没有在原类中声明,而是通过类别动态地添加了这个方法。在 main 函数中,我们创建了一个 NSString 实例,并调用了这个通过类别添加的 speak 方法。此种方式为开发者提供了灵活的扩展方法,而无需修改原始类的实现。
221.5KB
文件大小:
评论区