Вместо __attribute__((deprecated))
вы можете использовать макросы, определенные в <cdefs.h>
:
- (void)fooBar __deprecated;
// Or better:
- (void)fooBar __deprecated_msg("Use barFoo instead.");
Или вы можете использовать макросы, определенные в <AvailabilityMacros.h>
:
- (void)fooBar DEPRECATED_ATTRIBUTE;
// Or better:
- (void)fooBar DEPRECATED_MSG_ATTRIBUTE("Use barFoo instead.");
Если вы используете Objective-C, это не имеет значения, так как вы собираетесь использовать современный компилятор, поэтому вы можете использовать короткий синтаксис Apple __deprecated_msg()
. Но если вы используете C для кроссплатформенности, то DEPRECATED_MSG_ATTRIBUTE()
использует определения оптимальной доступности (например, он поддерживает GCC3.1).