iOS编程-使用deprecated属性

我们在阅读ios头文件的时候 经常会看到这样的代码

- (id)forwardingTargetForSelector:(SEL)aSelector NS_AVAILABLE(10_5, 2_0);

后面的意思是该函数在xos10.5及以上和ios2.0及以上可以使用,如果我们在把sdk版本调低于提示版本,在编译的时候就会出现警告,这样的方式既可以很像注释一样给予我们明确的提示,又在编译的时候帮助我们检查。这些都要归功于GNU的__attribute__ 的属性,它可以在函数定义或是结构体,变量添加编译属性。deprecated属性应用的比较广泛,对于我们的应用,在多版本API变更的情况下或是有更佳优化的函数 我们可以添加deprecated属性来提示该函数列入被废弃的队列,但要经过一段时间的稳定性测试才会真正被废弃。

例如

DEPRECATED(_version) __attribute__((deprecated))

- (void)printHelloWord DEPRECATED(2_01);

这段代码可以提示到我们该函数在2.01版本已经被加入废弃队列。

原文

posted @ 2017-05-15 17:06  上水的花  阅读(1031)  评论(0编辑  收藏  举报