1、标记为已废弃
使用DEPRECATED_ATTRIBUTE
宏缀在属性或方法的最后边(分号的左侧)
来标记该属性或方法已废弃。
@property (nonatomic, copy) NSString *name DEPRECATED_ATTRIBUTE;
- (void)deprecatedMethod DEPRECATED_ATTRIBUTE;
调用的时候会出现如下提示:
2、标记为已废弃并给定替换方法提示信息
使用DEPRECATED_MSG_ATTRIBUTE("文案")
宏缀在属性或方法的最后边(分号的左侧)
来标记该属性或方法已废弃,同时自己写文案标明用什么方法替换它。
注意:
括号中用的是不加@
符号的英文双引号
。
@property (nonatomic, copy) NSString *city DEPRECATED_MSG_ATTRIBUTE("使用newCity字段替换");
- (void)deprecatedMethod2 DEPRECATED_MSG_ATTRIBUTE("使用replaceDeprecatedMethod替换");
调用的时候会出现如下提示:
3、屏蔽因调用废弃的属性或方法而产生的警告
正常情况下调用了废弃的属性或方法,Xcode
会给个警告⚠️,如果觉得比较碍眼,可使用以下方式进行屏蔽:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
// 你自己的代码
self.name = @"小明";
[self deprecatedMethod];
self.city = @"北京";
[self deprecatedMethod2];
#pragma clang diagnostic pop