iOS提高篇:标记弃用的方法与属性

废弃(Deprecated)API标记,能在项目中起到优化的能力,针对那种该方法还能使用但不急于替换或提示其他开发人员,特别是自己写的SDK被其他人引用时提醒使用者使用其他方法。

还有我们能看见苹果在引入一个更优秀的方法或类时,会对废弃的类或方法进行标记,当我们看见出现警告时,会阅读警告来替换它推荐的类或方法。

举例:

  • NS_DEPRECATED_IOS(2_0, 6_0)

在iOS中,此方法在2.0 被引用, 将在6.0后废弃此方法。因此需要找到它推荐的方法来进行替换。

  • NS_AVAILABLE(10_8, 6_0)

Mac 与iOS中,Mac10.8以上才能使用,iOS6.0以上才能使用

  • NS_DEPRECATED(10_0, 10_6, 2_0, 4_0)

Mac 与iOS中,Mac在10.0被引用,10.6后被弃用,iOS在2.0被引用,4.0后被弃用。

  • +(void)test NS_DEPRECATED_IOS(2_0, 8_0,"use test1");

在iOS中,此类在2.0被引用,8.0被弃用,后面注释使用“test1”方法

1. 标记弃用的方法

通常我会在弃用的方法下进行标记,在进行清理时全局搜索“【可弃用】”,排查。另外我还使用“【可优化】”,“【可删除】”。进初始标记(明知道此方法有问题,但技术不够或没时间修改时,暂时性标记)。

#pragma mark -【可弃用】
+ (void)deleteKeyData:(NSString *)service;

2. 替换方法的警告说明

加上解释后,在引用此代码时,会出现警告

DEPRECATED_MSG_ATTRIBUTE()

+(NSString *)getUUID DEPRECATED_MSG_ATTRIBUTE("Please use [YKKeyChainStore getUUIDAtIndex:]");
使用时产生警告

你可以使用DEPRECATED联想查看更多关于DEPRECATED的宏定义。

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

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • 来福清第三天了。昨天去找工作,没有任何头绪,也不知道可以去做什么。 中午到姐那里吃饭。早上7点就肚子痛,痛了一个...
    同志阅读 389评论 0 2