今天看项目的时候发现一个东西不甚理解,查了下,原来是强制去除警告用的:
#pragma clang diagnostic ignored
语法来强制去除xcode的编译警告,代码举例如下:
1
2
3
4
|
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-bridge-casts-disallowed-in-nonarc"
CGImageSourceUpdateData
(imageSource, (__bridge CFDataRef)imageData, totalSize == expectedSize);
#pragma clang diagnostic pop
|
注意,如果不添加
#pragma clang diagnostic push/pop
的话,将导致忽略语句一直有效。
了解opengl或者quartz绘图的童鞋对这个push/pop肯定很容易理解。
要寻找编译器警告类型的方法如下图:
就说提示你没有使用到push和pop中间的代码块