Objective - C 之延展
延展:为已有的类新增私有方法,只能在本类中使用
一、创建过程:
二、总结:
1、延展只有.h文件,在其中写新方法的声明,在原本的类(Person)中写方法的实现;
2、上述的方法其实很不安全,因为如果导入了延展的声明文件(Person_Log.h),在其他任何地方都可以调用,这就无法达到私有的效果
3、针对上述问题,解决方法如下:
- 在原本的Person.m文件中@implement之前加入@interface @end ,并在这之间写方法的声明,达到私有的效果
- 这样不仅可以添加私有方法,也可以添加私有成员变量和私有属性
示例如下:
// 创建私有 ----》 延展
@interface Person()
{
NSString *_birthday; // 私有成员变量
}
@property (nonatomic,strong) NSString *code; // 私有属性
- (void)compareAgeWithPerson:(Person *)per; // 私有方法
@end
@implementation Person
- (void)compareAgeWithPerson:(Person *)per {
NSLog(@"比较年龄");
}
@end