您的位置:首页 > 移动开发 > IOS开发

iOS 一定见过的系统宏 NS_AVAILABLE、NS_DESIGNATED_INITIALIZER...

2017-05-16 00:00 796 查看
摘要: 在平时开发过程中,我们会发现不是在用别人的代码,就是别人在用自己的代码,所以代码中尽可能完整的说明就显得非常重要,这里对常见的系统宏做个记录,希望能帮到大家不断完善自己的代码。

在阅读系统库方法时经常看到类似如下的一些宏:



在平时开发过程中,我们会发现不是在用别人的代码,就是别人在用自己的代码,所以代码中尽可能完整的说明就显得非常重要,这里对常见的系统宏做个记录,希望能帮到大家不断完善自己的代码。

####NS_AVAILABLE(10_0, 8_0)
表示在 Mac OS 10.6 和 iOS 8.0 后可用

####NS_AVAILABLE_MAC(10_0)
表示在 Mac OS 10.0 后可用

####NS_AVAILABLE_IOS(8_0)
表示在 iOS 8.0 后可用

####NS_DEPRECATED(8_0, 10_0, 6_0, 8_0)
表示在 Mac OS 8.0 和 iOS 6.0 后可用,至 Mac OS 10.0 和 iOS 8.0 废弃

####NS_DEPRECATED_MAC(8_0, 10_0)
表示在 Mac OS 8.0 后可用,至 Mac OS 10.0 废弃

####NS_DEPRECATED_IOS(6_0, 8_0)
表示在 iOS 6.0 后可用,至 iOS 8.0 废弃

####NS_ENUM_AVAILABLE(10_0, 8_0)
表示枚举在 Mac OS 10.0 和 iOS 8.0 后可用

####NS_ENUM_AVAILABLE_MAC(10.0)
表示枚举在 Mac OS 10.0 后可用

####NS_ENUM_AVAILABLE_IOS(8_0)
表示枚举在 iOS 8.0 后可用

####NS_ENUM_DEPRECATED(8_0, 10_0, 6_0, 8_0)
表示枚举在 Mac OS 8_0 和 iOS 6.0 后可用,至 Mac OS 10.0 和 iOS 8.0 废弃

####NS_ENUM_DEPRECATED_MAC(8_0, 10_0)
表示枚举在 Mac OS 8_0 后可用,至 Mac OS 10.0 废弃

####NS_ENUM_DEPRECATED_IOS(6_0, 8_0)
表示枚举在 iOS 6.0 后可用,至 iOS 8.0 废弃

####NS_CLASS_AVAILABLE(10_0, 8_0)
表示类在 Mac OS 10.0 和 iOS 8.0 后可用

####NS_CLASS_DEPRECATED(8_0, 10_0, 6_0, 8_0)
表示类在 Mac OS 8.0 和 iOS 6.0 后可用,至 Mac OS 10.0 和 iOS 8.0 废弃

####NS_CLASS_AVAILABLE_IOS(8_0)
表示类在 iOS 8.0 后可用

####NS_CLASS_AVAILABLE_MAC(10_0)
表示类在 Mac OS 10.0 后可用

####NS_CLASS_DEPRECATED_MAC(8_0, 10_0)
表示类在 Mac OS 8.0 后可用,至 Mac OS 10.0 废弃

####NS_CLASS_DEPRECATED_IOS(6_0, 8_0)
表示类在 iOS 6.0 后可用,至 iOS 8.0 废弃

####NS_EXTENSION_UNAVAILABLE(_msg)
表示创建的内嵌框架不包含应用扩展不能使用的API

####NS_EXTENSION_UNAVAILABLE_MAC(_msg)
表示创建的Mac内嵌框架不包含应用扩展不能使用的API

####NS_EXTENSION_UNAVAILABLE_IOS(_msg)
表示创建的iOS内嵌框架不包含应用扩展不能使用的API

####NS_ASSUME_NONNULL_BEGIN & NS_ASSUME_NONNULL_END
表示在这两个宏之间的代码,所有简单指针对象都被假定为nonnull,因此我们只需要去指定那些nullable的指针。

####UIKIT_EXTERN
简单来说,就是将函数修饰为兼容以往C编译方式的、具有extern属性(文件外可见性)、public修饰的方法或变量库外仍可见的属性

####NS_DESIGNATED_INITIALIZER
表示最终被指定的初始化方法,推荐使用的初始化方法

####UI_APPEARANCE_SELECTOR
表示被标记的属性都支持通过外观代理来实现UI深度定制

在生活中学习技术,在技术中感受生活。

——Jinfei Chen QQ:411282623
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios NS 系统库