Object-c 经常会出现一些方法弃用或者方法找不到的警告,去掉这些警告可以使用 #pragma clang diagnostic
宏定义
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-相关命令"
// 警告代码块
// ...
#pragma clang diagnostic pop
方法弃用告警
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
// 警告代码块
#pragma clang diagnostic pop
不兼容指针类型警告
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
// 警告代码块
#pragma clang diagnostic pop
找不到方法警告
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wundeclared-selector"
// 警告代码块
#pragma clang diagnostic pop
未使用变量警告
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-variable"
// 警告代码块
#pragma clang diagnostic pop
循环引用警告
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-retain-cycles"
// 警告代码块
#pragma clang diagnostic pop
对象弱引用警告
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wreceiver-is-weak"
// 警告代码块
#pragma clang diagnostic pop
GNU编译警告
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgnu"
// 警告代码块
#pragma clang diagnostic pop
nullable 和 nonull警告
NS_ASSUME_NONNULL_BEGIN
@interface UserModel<ObjectType> : NSObject
@property(nonatomic,strong,nullable) ObjectType object;
- (void)pushObject:(ObjectType)object;
@end
NS_ASSUME_NONNULL_END