NS_CLASS_AVAILABLE_IOS

描述

// class weak import is not supported
#define NS_CLASS_AVAILABLE(_mac, _ios)
#define NS_CLASS_DEPRECATED(_mac, _macDep, _ios, _iosDep, ...)
#endif

#define NS_CLASS_AVAILABLE_IOS(_ios) NS_CLASS_AVAILABLE(NA, _ios)
#define NS_CLASS_AVAILABLE_MAC(_mac) NS_CLASS_AVAILABLE(_mac, NA)
#define NS_CLASS_DEPRECATED_MAC(_macIntro, _macDep, ...) NS_CLASS_DEPRECATED(_macIntro, _macDep, NA, NA, __VA_ARGS__)
#define NS_CLASS_DEPRECATED_IOS(_iosIntro, _iosDep, ...) NS_CLASS_DEPRECATED(NA, NA, _iosIntro, _iosDep, __VA_ARGS__)
  • NS_AVAILABLE_IOS(5_0)

    这个方法可以在iOS5.0及以后的版本中使用,如果在比5.0更老的版本中调用这个方法,就会引起崩溃。

  • NS_DEPRECATED_IOS(2_0, 6_0)

这个宏中有两个版本号。前面一个表明了这个方法被引入时的iOS版本,后面一个表明它被废弃时的iOS版本。被废弃并不是指这个方法就不存在了,只是意味着我们应当开始考虑将相关代码迁移到新的API上去了。

  • NS_AVAILABLE(10_8, 6_0)

这个宏告诉我们这方法分别随Mac OS 10.8和iOS 6.0被引入

  • NS_DEPRECATED(10_0, 10_6, 2_0, 4_0)

这个方法随Mac OS 10.0和iOS 2.0被引入,在Mac OS 10.6和iOS 4.0后被废弃。

  • NS_CLASS_AVAILABLE(10_11, 9_0)

这个类分别随Mac OS 10.11和iOS9.0被引入。

  • NS_ENUM_AVAILABLE(10_11, 9_0)

这个枚举分别随Mac OS 10.11和iOS9.0被引入。

  • __TVOS_PROHIBITED

表示TVOS禁用
os :
1. _OSX 针对macOS SDK
2. _IOS 针对iOS SDK
3. _TVOS 针对tvOS SDK
4. __WATCHOS_ 针对watchOS SDK
5. __SWIFT_ 针对swift
value:
1 . AVAILABLE 可用的
2. PROHIBITED 对某个平台禁止使用的
3. DEPRECATED 过时的,弃用的,废弃的方法
4. UNAVAILABLE 不可用
应用实例
@property (nullable, nonatomic, strong) NSArray<__kindof UIBarButtonItem *> *toolbarItems NS_AVAILABLE_IOS(3_0) __TVOS_PROHIBITED;

  • NA

表示缺省 参数无效不用填

(id)objectAtIndexedSubscript:(NSUInteger)idx NS_AVAILABLE(10_8, 6_0);

如果是OSX和iOS通用的方法 会填满 支持单个系统的方法 就会出现缺省。比如上面这句是通用的Foundation框架的方法 就没有NA。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值