美文网首页移动端开发
iOS提高篇:标记弃用的方法与属性

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

作者: younger_times | 来源:发表于2018-02-05 10:22 被阅读873次

    废弃(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提高篇:标记弃用的方法与属性

        本文链接:https://www.haomeiwen.com/subject/tmjbzxtx.html