我正在用@compatibility_alias做一些测试,并意识到:
使用它,我们可以更改类的名称,但是补偿您只能访问静态方法(+)。
我的疑问是:@compatibility_alias可以访问实例方法(-)吗?还是仅限于静态方法(+)?
发布于 2015-03-19 02:37:28
您不使用类名访问实例方法,而是使用实例。例如:
@compatibility_alias BaArray NSMutableArray不需要通过BaArray访问addObject:,也不需要通过NSMutableArray访问。以上所述可用于:
BaArray *ba = [BaArray new]; // allocates an NSMutableArray
[ba addObject:@42]; // adds an object to the NSMutableArray实例方法调用没有提到BaArray或NSMutableArray。
注意:这个特性不是为“更改类名”而设计的,而是用于类名已更改且希望使用包含旧名称的现有源的情况。
HTH
https://stackoverflow.com/questions/29135946
复制相似问题