编译项目的时候常常无法完全清理各种告警信息,心里超级不爽,目标0 warning...
处理宏定义
// // 去除 “selector未知 可能导致内存泄露的告警” // @"PerformSelector may cause a leak because its selector is unknown" // #define SuppressPerformSelectorLeakWarning(Stuff) do { _Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Warc-performSelector-leaks\"") Stuff; _Pragma("clang diagnostic pop") } while (0) // // 去掉Deprecated函数调用的告警 // ‘UISearchDisplayController‘ is deprecated: first deprecated in iOS 8.0 - UISearchDisplayController has been replaced with UISearchController // #define SuppressDeprecatedDeclarations(Stuff) do { _Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") Stuff() _Pragma("clang diagnostic pop") } while(0)
测试示例:
// 1 UISearchBar *searchBar; UISearchDisplayController *s = [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self]; // 2 [self performSelector:NSSelectorFromString(@"someMethod")];
取自各种开源库及网络,不断整理中....
时间: 2024-10-10 16:38:10