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的对象即可。

上一篇下一篇

猜你喜欢

热点阅读