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

 

   

 

posted @ 2016-08-22 19:07  Cassie语思菲菲  阅读(178)  评论(0编辑  收藏  举报