__IPHONE_10_2 系统版本号的宏,这表示手机的系统是10.2的! 实际上的值为 10200,其他版本依次类推.
__IPHONE_OS_VERSION_MIN_REQUIRED 当前应用支持的最小的版本号
NS_UNAVAILABLE 禁止使用的意思,一般是用于方法后面,比如禁止调用init方法可以
- (instancetype)init NS_UNAVAILABLE
{
return nil;
}
NSAssert(condition,desc); 断言,condition为要判定的内容,后面是如果判定结果是NO,报告的内容!如果判断失败会终止程序!
NSLocalizedStringFromTable(key,tbl,comment) 返回指定tal.string中key的本地化字符串(关于语言的国际化可以另寻教程)
NS_ASSUME_NONNULL_BEGIN
NS_ASSUME_NONNULL_END 两者之间的属性或者方法的参数返回值是非空的.
__Require_Quiet(assertion,exceptionLabel) 如果asserition断言不为真,跳转到exceptionLabel.
__Require__noErr_Quiet(assertion,exceptionLabel) 如果asserition断言为真,跳转到exceptionLabel.
跳转可以参考C语言的goto:的用法.
FOUNDATION_EXPORT 用于.h文件中申明常量,不直接赋值,也可以用来申明静态方法或者函数
NS_SWIFT_NOTHROW 将不会使用swift的异常抛除机制,用于OC方法名之后 例如
- (nullable id)responseObjectForResponse:(nullable NSURLResponse *)response
data:(nullable NSData *)data
error:(NSError * _Nullable __autoreleasing *)error NS_SWIFT_NOTHROW;