__attribute__的简简简单理解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013163834/article/details/56487918
attribute的简简简单理解

1.attribute是编译指令.
帮助编译器优化或者为代码的使用者显示有用的警告信息
2.attribute 命令提供代码运行需要的上下文。
3.给代码定义(变量,参数,函数,方法,类等等)提供额外的上下文信息都应该使用 attribute.
4.声明一个API在某平台的可用性:attribute((availability(…))):如 NS_AVAILABLE 和 NS_DEPRECATED

// 有效
- (BOOL)containsString:(NSString *)str NS_AVAILABLE(10_10,8_0);

// 弃用
- (nullable id)initWithContentsOfFile:(NSString *)path NS_DEPRECATED(10_0, 10_4, 2_0, 2_0);(用带有encoding/usedEncoding和error参数的方法替代)

5.添加 NS_REQUIRES_SUPER ,在重写的时候调用super的方法

- (void)foo NS_REQUIRES_SUPER;

//子类调用该方法 必须实现父类方法
warning: Methodpossiblymissinga[superfoo]call

猜你喜欢

转载自blog.csdn.net/u013163834/article/details/56487918