我们有一堂课WayPoint
。但在某个时候,我们决定将类重命名为Placemark
。然而,我们并不是真的想改变类的名称,因为这会导致现有代码的大量修改。因此,我添加了一行typedef
在头文件的底部并开始使用Placemark
从那以后,在任何新代码中都很愉快。
@interface WayPoint : _WayPoint
@end
typedef WayPoint Placemark;
但还有一件事我不明白。如果我尝试在其他头文件中使用前向定义。我只能用:
@class WayPoint;
如果我使用:
@class Placemark;
我会收到错误消息:
将“地标”重新定义为另一种符号
Why?
不知道为什么不能使用 Xcode 的重构功能(Simple Rename 可以快速且轻松地实现)。但如果你真的想这样做,你可以使用比 typedef 更好的东西:
@compatibility_alias Placemark WayPoint
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)