XCode10 编译器方法参数为空检测
2019-07-10 本文已影响0人
YannChee
升级Xcode10 后,每次新建.h文件时,xcode会自动加上两条宏
NS_ASSUME_NONNULL_BEGIN 和 NS_ASSUME_NONNULL_END
刚开始,我一直没在意,后来在使用自定义一些方法时,参数如果传入nil,编译器会有黄色警告⚠️,提示参数为 nonnull;
NS_ASSUME_NONNULL_BEGIN
@class UIBezierPath;
@interface CALayer (QYConvenientMethonds)
+ (CAShapeLayer *)qy_shapLayerWithBezierPath:(UIBezierPath *)bezierPath strokeColor:(CGColorRef)strokeColorRef fillColor:(CGColorRef)fillColorRef lineWidth:(CGFloat)lineWidth ;
@end
NS_ASSUME_NONNULL_END
我手动加上 nullable,警告消失
所有指针对象都会假定为nonull,所以我们在开发的时候只需要指定那些nullable的对象即可。