@compatibility_alias 可以调用实例方法吗?
@compatibility_alias can call instance methods?
我正在用@compatibility_alias 做一些测试,然后意识到:
With it we can change the name of our class, but compensating you can only access static methods (+).
我的疑惑是:@compatibility_alias可以访问实例方法(-)?还是仅限于静态方法 (+)?
您不使用 class 名称访问实例方法,而是使用实例。例如:
@compatibility_alias BaArray NSMutableArray
与通过 NSMutableArray
相比,无需通过 BaArray
访问 addObject:
。以上可以作为:
BaArray *ba = [BaArray new]; // allocates an NSMutableArray
[ba addObject:@42]; // adds an object to the NSMutableArray
实例方法调用没有提到BaArray
或NSMutableArray
。
注意:此功能并非针对 "change the name of our class" 设计,而是针对 class 名称已更改且希望使用包含旧名称的现有源的情况。
HTH
我正在用@compatibility_alias 做一些测试,然后意识到:
With it we can change the name of our class, but compensating you can only access static methods (+).
我的疑惑是:@compatibility_alias可以访问实例方法(-)?还是仅限于静态方法 (+)?
您不使用 class 名称访问实例方法,而是使用实例。例如:
@compatibility_alias BaArray NSMutableArray
与通过 NSMutableArray
相比,无需通过 BaArray
访问 addObject:
。以上可以作为:
BaArray *ba = [BaArray new]; // allocates an NSMutableArray
[ba addObject:@42]; // adds an object to the NSMutableArray
实例方法调用没有提到BaArray
或NSMutableArray
。
注意:此功能并非针对 "change the name of our class" 设计,而是针对 class 名称已更改且希望使用包含旧名称的现有源的情况。
HTH