如何将Objective C中的@property标记为已弃用?
答案 0 :(得分:57)
除非你真的想根据iOS版本弃用,我怀疑你不想这样做,你可以使用DEPRECATED_ATTRIBUTE
@property (strong) NSObject *object DEPRECATED_ATTRIBUTE;
答案 1 :(得分:13)
来自NSObjCRuntime.h
#define NS_AVAILABLE(_mac, _ios)
#define NS_AVAILABLE_MAC(_mac)
#define NS_AVAILABLE_IOS(_ios)
#define NS_DEPRECATED(_macIntro, _macDep, _iosIntro, _iosDep)
#define NS_DEPRECATED_MAC(_macIntro, _macDep)
#define NS_DEPRECATED_IOS(_iosIntro, _iosDep)
您可以使用这些宏
这是UITableViewCell.h
@property(nonatomic,copy) NSString *text NS_DEPRECATED_IOS(2_0, 3_0); // default is nil
答案 2 :(得分:3)
您还可以使用DEPRECATED_MSG_ATTRIBUTE(“使用anotherProperty代替。”)并提供一条有意义的消息,提示用户使用什么代替不推荐使用的属性。 当使用该属性时,Xcode将显示警告。
示例:
if (line.toLowerCase().startsWith("a"))
答案 3 :(得分:1)
您可以在.pch中输入如下所示的宏,以便为所有应用程序设置全局
#define DEPRECATED_ATTRIBUTE __attribute__((deprecated))
将方法标记为以下示例
-(void) exmapleMethodName DEPRECATED_ATTRIBUTE{
// code
}