pragma
1.
#pragma clang diagnostic push
2.
NS_ASSUME_NONNULL_BEGIN
···
···
···
NS_ASSUME_NONNULL_END
/**
成对出现,用于.h文件中 说明两者之间定义的属性 或者 方法 返回的都不为空
即为 _Nonnull
当我们用这个限制后想要某个属性或者方法可以为空时 可以添加 nullable
*/
3.
@protected 该类和所有子类中的方法可以直接访问这样的变量。
@private 该类中的方法可以访问,子类不可以访问。
@public 可以被所有的类访问
@package 本包内使用,跨包不可以
4.
__IPHONE_OS_VERSION_MAX_ALLOWED 这个宏得到的是当前开发环境的系统SDK版本,这个判断适用于那些第三方服务开发者,他们需兼容高低xcode版本保证最新的api跑在低版本的xcode上不会编译错误
__IPHONE_OS_VERSION_MIN_REQUIRED 这个宏它是当前项目选择的最低支持的版本