我正在使用@compatibility_alias进行一些测试,并意识到:
有了它,我们可以更改我们班级的名称,但补偿你只能访问静态方法(+)。
我的疑问是:@compatibility_alias可以访问实例方法( - )?或者仅限制静态方法(+)?
答案 0 :(得分:3)
您不使用类名访问实例方法,而是使用实例。例如:
@compatibility_alias BaArray NSMutableArray
不再需要通过addObject:
访问BaArray
而不是通过NSMutableArray
访问BaArray *ba = [BaArray new]; // allocates an NSMutableArray
[ba addObject:@42]; // adds an object to the NSMutableArray
。以上可以用作:
BaArray
实例方法调用未提及NSMutableArray
或{{1}}。
注意:此功能并非旨在“更改我们类的名称”,而是针对类名已更改并且希望使用包含旧名称的现有源的情况。
HTH