将属性或方法标记为已废弃

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现写博客想写明白也是一件不容易的事情。 这次拿YYKIt 源码 分析分析。希望这次能写的更好些。 YYKit 系...
    充满活力的早晨阅读 11,644评论 4 16
  • iOS宏的经典用法Apple的习惯attribute iOS宏的经典用法1.常量宏、表达式宏 define kTa...
    reallychao阅读 9,342评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,355评论 19 139
  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 9,667评论 4 16
  • 得知我读在职研究生后,常常有人表示超出一般的好奇和不解,一般问题是你为啥考在职研,用不用去上课啊,上完回来干啥啊;...
    空格儿阅读 3,265评论 0 2