iOS 知识点iOS开发进阶iOS干货

__attribute__ 的详解

2020-08-17  本文已影响0人  WikongGuan

attribute 的详解

目录

说明

__attribute__ 既熟悉又陌生的关键字,我们很多常用的函数都有用到这个关键字(例如:NSLog(),[NSString stringWithFormat:]),但是我们平时开发过程中又很少直接使用到。

__attribute__ 是GNU C 的一种体制,本质是一个编译器的指令,在声明的时候可以提供一些属性,在编译阶段起作用,来做多样化的错误检查和高级优化。可以分别设置函数的属性,变量属性和类型属性。语法为:attribute(xxx)。

用法与解说

一、 format[1]

noreturn[2]

availbility[3]


- (NSString *)filePathForName:(NSString *)name __attribute__((availability(ios,introduced=10.1,deprecated=11.1,obsoleted=13.0,message="请使用 - (NSString *)newfilePathForName:(NSString *)name group:(NSString *)group")));

- (NSString *)newfilePathForName:(NSString *)name __attribute__((availability(ios,unavailable)));

unavailable[4]

- (NSString *)newfilePathForName:(NSString *)name __attribute__((unavailable("该方法不可用")));

noinline&always_inline[5]

pure&const[6]

nothrow[7]

sentinel[8]

format_arg[9]

no_instrument_function[10]

constructor&destructor[11]

used[12]

section[13]

unused [14]

deprecated[15]

weak[16]

malloc [17]

alias[18]

warn_unused_result[19]

nonnull[20]

aligned[21]

packed[22]

transparent_union[23]

may_alias[24]

overloadable[25]

objc_root_class[26]

NSObject[27]

objc_designated_initializer[28]

visibility[29]

更多参考[30]

最后的唠叨[31]


  1. format

  2. noreturn

  3. availbility

  4. unavailable

  5. noinline&always_inline

  6. pure&const

  7. nothrow

  8. sentinel

  9. format_arg

  10. no_instrument_function

  11. constructor&destructor

  12. used

  13. section

  14. unused

  15. deprecated

  16. weak

  17. malloc

  18. alias

  19. warn_unused_result

  20. nonnull

  21. aligned

  22. packed

  23. transparent_union

  24. may_alias

  25. overloadable

  26. objc_root_class

  27. NSObject

  28. objc_designated_initializer

  29. visibility

  30. 参考

  31. 唠叨

上一篇 下一篇

猜你喜欢

热点阅读