How do I flag a method as deprecated in Objective-C 2.0?
Deprecation Syntax
Syntax is provided to mark methods as deprecated:
@interface SomeClass-method __attribute__((deprecated));@end
or:
#include <AvailabilityMacros.h>@interface SomeClass-method DEPRECATED_ATTRIBUTE; // or some other deployment-target-specific macro@end
IMHO, it's easier to write __deprecated:
- (void)myDeprecatedMethod __deprecated;- (int)methodNameDeprecated:(int)param __deprecated;
Works too on classes
__deprecated@interface MyDeprecatedClass // ... some properties and methods ...@end
If you want to give additional message with the deprecation flag, you can use following flags.
@property (strong, nonatomic) NSString *catName __deprecated_msg("use name instead.");// -- Or -- @property (strong, nonatomic) NSString *catName DEPRECATED_MSG_ATTRIBUTE("use name instead.");// -- Or -- @property (strong, nonatomic) NSString *catName __attribute__((deprecated("use name instead.")));
Using above mentioned flags, you can tell why you are deprecating or what is the method developer should use in future.