在类的扩展中设置的属性都是私有属性,只能本类自己使用,其他类(包括其子类也不能使用);在类的头文件.h中声明的属性是公有属性,可以让其子类继承使用。
实例应用:A是一个类,其有四个子类B1,B2,B3,B4,C是一个类,C中有一个方法method;现在想让B1,B2,B3,B4都能使用C的方法method,实现的方案可以有以下2种:
1)除了常用比较麻烦而直接的让B1,B2,B3,B4都直接通过初始化一个[[C alloc] init]C对象,然后通过这个C的对象来调用方法method外;
2)也可以在父类A的头文件.h中声明一个公有属性C对象属性,然后,B1,B2,B3,B4都可以使用self.C属性来调用C的方法method,这种方式更简约,且子类越多,这种方式好处越突显。详细demo地址: (其中:MYHallController,MYArenaController,MYDiscoveryController,MYHistoryController,MYMyLotteryController这五个类是MYBaseController的子类,MYView类中有一个方法:- (void)setInfoImage:(NSString *)imgStr;)