#pragma clang diagnostic ignored的使用

在iOS开发过程中, 我们可能会碰到一些系统方法弃用, weak、循环引用、不能执行之类的警告。 有代码洁癖的孩子们很想消除他们, 今天就让我们来一次Fuck 警告!!

首先学会基本的语句

#pragma clang diagnostic push

#pragma clang diagnostic ignored "-Wgnu-conditional-omitted-operand"

这里写出现警告的代码

#pragma clang diagnostic pop


if (![s respondsToSelector:@selector(boundingRectWithSize:options:attributes:context:)]) {

#pragma clang diagnostic push

#pragma clang diagnostic ignored "-Wdeprecated-declarations"

labelsize = [s sizeWithFont:font constrainedToSize:size lineBreakMode:NSLineBreakByWordWrapping];

#pragma clang diagnostic pop

} else {

NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];

[style setLineBreakMode:NSLineBreakByWordWrapping];

labelsize = [s boundingRectWithSize:size

options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading)

attributes:@{ NSFontAttributeName:font, NSParagraphStyleAttributeName : style}

context:nil].size;

}

参考

iOS编程 手动忽略clang编译器警告

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容