我是一个开发相当大的 iPad 应用程序的团队的一员,因此我们创建了许多不同的类。问题是一些方法现在已经过时了,我不想简单地删除它们,因为我知道整个系统的某些部分使用这些方法......但是应该使用更好(更新)的变体取而代之的是(一些旧的实际上调用了新的,但是整个类接口(interface)变得杂乱无章)。
有没有一种方法可以将某些方法标记为已弃用(如 Java 中的 @deprecated
和 .NET 中的 [Obsolete]
)。
我看到 Apple 使用了 Availability.h 并带有诸如
之类的标签__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_2_0,__IPHONE_3_0);
...这是唯一的方法吗(+ App Store 这样做安全吗?)还是有其他方法可以在 Xcode 中标记警告?
最佳答案
提供语法以将方法标记为已弃用:
@interface SomeClass
-method __attribute__((deprecated));
@end
或:
#include <AvailabilityMacros.h>
@interface SomeClass
-method DEPRECATED_ATTRIBUTE; // or some other deployment-target-specific macro
@end
https://stackoverflow.com/questions/3908715/