NS_DESIGNATED_INITIALIZER // 指定的初始化方法
// 注解:
每个类可以有多个init方法,设置某个初始化方法为指定的初始化方法后,所有的init方法最后都会调用到该指定的初始化方法
NS_ASSUME_NONNULL_BEGIN // 开始认为非空
// 注解:
此区间所有属性及方法默认都是nonnull类型,如果需要声明为nullable类型,需要指定属性为nullable
NS_ASSUME_NONNULL_END // 结束认为非空
DEPRECATED_ATTRIBUTE // 废弃属性
#pragma clang diagnostic push // 忽略xxx警告
#pragma clang diagnostic ignored "-xxx"// xxx为警告名称
// 注解:
此区间方法中的xx警告将被忽略
#pragma clang diagnostic pop
FOUNDATION_EXPORT // 常量定义
// 注解:
定义过的字符串可以直接使用"=="进行比较