自定义非空属性或带有非空参数方法的创建 nullable _Nonnull

1. 情形一

NS_ASSUME_NONNULL_BEGINNS_ASSUME_NONNULL_END两个宏定义之间所有指针对象(注意是对象)都被假定为nonnull的,如果自己想要特定某一个属性为nullable,假设这个属性是name属性,那么可像如下代码中的name属性那样的表示即可。

@interface ImageTool : NSObject
NS_ASSUME_NONNULL_BEGIN
@property (copy, nullable) NSString *name;
/**
 *  跟据给出的颜色和尺寸大小,生成一个png图片
 *
 *  @param  color     颜色值
 *  @param  imageSize 图片的尺寸
 *  @return image     图片
 */
+ (UIImage * _Nullable)createImageWithColor:(UIColor *)color imageSize:(CGSize)imageSize;

NS_ASSUME_NONNULL_END
@end
2. 情形二
@interface ImageTool : NSObject

/**
 *  跟据给出的颜色和尺寸大小,生成一个png图片
 *
 *  @param  color     颜色值
 *  @param  imageSize 图片的尺寸
 *  @return image     图片
 */
+ (UIImage * _Nullable)createImageWithColor:(UIColor * _Nonnull)color imageSize:(CGSize)imageSize;

@end

你可能感兴趣的:(自定义非空属性或带有非空参数方法的创建 nullable _Nonnull)